aboutsummaryrefslogtreecommitdiff
path: root/ocaml/reader.ml
diff options
context:
space:
mode:
authorChouser <chouser@n01se.net>2015-01-30 09:10:24 -0500
committerChouser <chouser@n01se.net>2015-01-30 12:54:43 -0500
commit2b8e0ea42046505635e8f4c9d96e594c595948c2 (patch)
treedec239425e9f0333182f319ef02fe55692a70a79 /ocaml/reader.ml
parentfd3adc525489857e2db66fd905e829d38364f777 (diff)
downloadmal-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.ml11
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 =