perl: Remove step 0.5.
[jackhill/mal.git] / ocaml / step4_if_fn_do.ml
index abbcdab..0e0cbaf 100644 (file)
@@ -7,15 +7,12 @@ let rec eval_ast ast env =
     | T.Symbol s -> Env.get env ast
     | T.List { T.value = xs; T.meta = meta }
       -> T.List { T.value = (List.map (fun x -> eval x env) xs);
-                  T.meta = meta;
-                  T.is_macro = false}
+                  T.meta = meta }
     | T.Vector { T.value = xs; T.meta = meta }
       -> T.Vector { T.value = (List.map (fun x -> eval x env) xs);
-                    T.meta = meta;
-                    T.is_macro = false}
+                    T.meta = meta }
     | T.Map { T.value = xs; T.meta = meta }
       -> T.Map {T.meta = meta;
-                T.is_macro = false;
                 T.value = (Types.MalMap.fold
                              (fun k v m
                               -> Types.MalMap.add (eval k env) (eval v env) m)
@@ -24,6 +21,7 @@ let rec eval_ast ast env =
     | _ -> ast
 and eval ast env =
   match ast with
+    | T.List { T.value = [] } -> ast
     | T.List { T.value = [(T.Symbol { T.value = "def!" }); key; expr] } ->
         let value = (eval expr env) in
           Env.set env key value; value