crystal: add vector and hash-map, fix with-meta and error output
[jackhill/mal.git] / crystal / types.cr
1 module Mal
2 class Symbol
3 property :val
4 def initialize(@val)
5 end
6 end
7
8 class List < Array(Type)
9 end
10
11 class Vector < Array(Type)
12 end
13
14 class HashMap < Hash(String, Type)
15 end
16
17 alias Type = Nil | Bool | Int32 | String | Symbol | List | Vector | HashMap
18
19 class ParseException < Exception
20 end
21 end