diff --git a/ocaml/step3_env.ml b/ocaml/step3_env.ml index 73d4236dd9..ef7d131675 100644 --- a/ocaml/step3_env.ml +++ b/ocaml/step3_env.ml @@ -33,6 +33,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 diff --git a/ocaml/step4_if_fn_do.ml b/ocaml/step4_if_fn_do.ml index f08aa55223..0e0cbaf76f 100644 --- a/ocaml/step4_if_fn_do.ml +++ b/ocaml/step4_if_fn_do.ml @@ -21,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 diff --git a/ocaml/step6_file.ml b/ocaml/step6_file.ml index e9d48d3ffe..41b3a052c9 100644 --- a/ocaml/step6_file.ml +++ b/ocaml/step6_file.ml @@ -21,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 diff --git a/ocaml/step7_quote.ml b/ocaml/step7_quote.ml index 3291f48fba..23eaa740fc 100644 --- a/ocaml/step7_quote.ml +++ b/ocaml/step7_quote.ml @@ -33,6 +33,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 diff --git a/ocaml/step8_macros.ml b/ocaml/step8_macros.ml index 7f61c597ca..93113e5ad5 100644 --- a/ocaml/step8_macros.ml +++ b/ocaml/step8_macros.ml @@ -54,6 +54,7 @@ let rec eval_ast ast env = | _ -> ast and eval ast env = match macroexpand ast env 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 diff --git a/ocaml/step9_try.ml b/ocaml/step9_try.ml index 2eab66eabb..1885359ffe 100644 --- a/ocaml/step9_try.ml +++ b/ocaml/step9_try.ml @@ -54,6 +54,7 @@ let rec eval_ast ast env = | _ -> ast and eval ast env = match macroexpand ast env 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 diff --git a/ocaml/stepA_mal.ml b/ocaml/stepA_mal.ml index fc43eb69a2..c36e6c87e3 100644 --- a/ocaml/stepA_mal.ml +++ b/ocaml/stepA_mal.ml @@ -54,6 +54,7 @@ let rec eval_ast ast env = | _ -> ast and eval ast env = match macroexpand ast env 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