diff options
| author | Chouser <chouser@n01se.net> | 2015-01-30 09:10:24 -0500 |
|---|---|---|
| committer | Chouser <chouser@n01se.net> | 2015-01-30 12:54:43 -0500 |
| commit | 2b8e0ea42046505635e8f4c9d96e594c595948c2 (patch) | |
| tree | dec239425e9f0333182f319ef02fe55692a70a79 /ocaml/reader.ml | |
| parent | fd3adc525489857e2db66fd905e829d38364f777 (diff) | |
| download | mal-2b8e0ea42046505635e8f4c9d96e594c595948c2.tar.gz mal-2b8e0ea42046505635e8f4c9d96e594c595948c2.zip | |
OCaml: put macro flag in metadata rather than special type field
Diffstat (limited to 'ocaml/reader.ml')
| -rw-r--r-- | ocaml/reader.ml | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/ocaml/reader.ml b/ocaml/reader.ml index cf8c141..7456cf8 100644 --- a/ocaml/reader.ml +++ b/ocaml/reader.ml @@ -48,11 +48,12 @@ let read_atom token = let with_meta obj meta = match obj with - | T.List { T.value = v } -> T.List { T.value = v; T.meta = meta; T.is_macro = false }; - | T.Map { T.value = v } -> T.Map { T.value = v; T.meta = meta; T.is_macro = false }; - | T.Vector { T.value = v } -> T.Vector { T.value = v; T.meta = meta; T.is_macro = false }; - | T.Symbol { T.value = v } -> T.Symbol { T.value = v; T.meta = meta; T.is_macro = false }; - | T.Fn { T.value = v } -> T.Fn { T.value = v; T.meta = meta; T.is_macro = false }; + | T.List { T.value = v } + -> T.List { T.value = v; T.meta = meta }; | T.Map { T.value = v } + -> T.Map { T.value = v; T.meta = meta }; | T.Vector { T.value = v } + -> T.Vector { T.value = v; T.meta = meta }; | T.Symbol { T.value = v } + -> T.Symbol { T.value = v; T.meta = meta }; | T.Fn { T.value = v } + -> T.Fn { T.value = v; T.meta = meta }; | _ -> raise (Invalid_argument "metadata not supported on this type") let rec read_list eol list_reader = |
