diff --git a/vala/step3_env.vala b/vala/step3_env.vala index d15bf4f56a..bfced742ba 100644 --- a/vala/step3_env.vala +++ b/vala/step3_env.vala @@ -101,16 +101,16 @@ class Mal.Main : GLib.Object { } private static Mal.Val define_eval(Mal.Val key, Mal.Val value, - Mal.Env eval_env, Mal.Env def_env) + Mal.Env env) throws Mal.Error { var rootk = new GC.Root(key); (void)rootk; - var roote = new GC.Root(def_env); (void)roote; + var roote = new GC.Root(env); (void)roote; var symkey = key as Mal.Sym; if (symkey == null) throw new Mal.Error.BAD_PARAMS( "let*: expected a symbol to define"); - var val = EVAL(value, eval_env); - def_env.set(symkey, val); + var val = EVAL(value, env); + env.set(symkey, val); return val; } @@ -134,7 +134,7 @@ class Mal.Main : GLib.Object { throw new Mal.Error.BAD_PARAMS( "def!: expected two values"); return define_eval(list.next.data, list.next.next.data, - env, env); + env); case "let*": if (list.length() != 3) throw new Mal.Error.BAD_PARAMS( @@ -150,8 +150,7 @@ class Mal.Main : GLib.Object { throw new Mal.Error.BAD_PARAMS( "let*: expected an even-length list" + " of definitions"); - define_eval(iter.data, iter.next.data, - newenv, newenv); + define_eval(iter.data, iter.next.data, newenv); } } else if (defns is Mal.Vector) { var vec = defns as Mal.Vector; @@ -160,7 +159,7 @@ class Mal.Main : GLib.Object { "let*: expected an even-length vector" + " of definitions"); for (var i = 0; i < vec.length; i += 2) - define_eval(vec[i], vec[i+1], newenv, newenv); + define_eval(vec[i], vec[i+1], newenv); } else { throw new Mal.Error.BAD_PARAMS( "let*: expected a list or vector of definitions"); diff --git a/vala/step4_if_fn_do.vala b/vala/step4_if_fn_do.vala index 21169b0370..13ab98aa2a 100644 --- a/vala/step4_if_fn_do.vala +++ b/vala/step4_if_fn_do.vala @@ -56,16 +56,16 @@ class Mal.Main: GLib.Object { } private static Mal.Val define_eval(Mal.Val key, Mal.Val value, - Mal.Env eval_env, Mal.Env def_env) + Mal.Env env) throws Mal.Error { var rootk = new GC.Root(key); (void)rootk; - var roote = new GC.Root(def_env); (void)roote; + var roote = new GC.Root(env); (void)roote; var symkey = key as Mal.Sym; if (symkey == null) throw new Mal.Error.BAD_PARAMS( "let*: expected a symbol to define"); - var val = EVAL(value, eval_env); - def_env.set(symkey, val); + var val = EVAL(value, env); + env.set(symkey, val); return val; } @@ -89,7 +89,7 @@ class Mal.Main: GLib.Object { throw new Mal.Error.BAD_PARAMS( "def!: expected two values"); return define_eval(list.next.data, list.next.next.data, - env, env); + env); case "let*": if (list.length() != 3) throw new Mal.Error.BAD_PARAMS( @@ -105,8 +105,7 @@ class Mal.Main: GLib.Object { throw new Mal.Error.BAD_PARAMS( "let*: expected an even-length list" + " of definitions"); - define_eval(iter.data, iter.next.data, - newenv, newenv); + define_eval(iter.data, iter.next.data, newenv); } } else if (defns is Mal.Vector) { var vec = defns as Mal.Vector; @@ -115,7 +114,7 @@ class Mal.Main: GLib.Object { "let*: expected an even-length vector" + " of definitions"); for (var i = 0; i < vec.length; i += 2) - define_eval(vec[i], vec[i+1], newenv, newenv); + define_eval(vec[i], vec[i+1], newenv); } else { throw new Mal.Error.BAD_PARAMS( "let*: expected a list or vector of definitions"); diff --git a/vala/step5_tco.vala b/vala/step5_tco.vala index 06c144cafb..d944f4ab25 100644 --- a/vala/step5_tco.vala +++ b/vala/step5_tco.vala @@ -56,16 +56,16 @@ class Mal.Main : GLib.Object { } private static Mal.Val define_eval(Mal.Val key, Mal.Val value, - Mal.Env eval_env, Mal.Env def_env) + Mal.Env env) throws Mal.Error { var rootk = new GC.Root(key); (void)rootk; - var roote = new GC.Root(def_env); (void)roote; + var roote = new GC.Root(env); (void)roote; var symkey = key as Mal.Sym; if (symkey == null) throw new Mal.Error.BAD_PARAMS( "let*: expected a symbol to define"); - var val = EVAL(value, eval_env); - def_env.set(symkey, val); + var val = EVAL(value, env); + env.set(symkey, val); return val; } @@ -98,7 +98,7 @@ class Mal.Main : GLib.Object { throw new Mal.Error.BAD_PARAMS( "def!: expected two values"); return define_eval(list.next.data, list.next.next.data, - env, env); + env); case "let*": if (list.length() != 3) throw new Mal.Error.BAD_PARAMS( @@ -114,8 +114,7 @@ class Mal.Main : GLib.Object { throw new Mal.Error.BAD_PARAMS( "let*: expected an even-length list" + " of definitions"); - define_eval(iter.data, iter.next.data, - env, env); + define_eval(iter.data, iter.next.data, env); } } else if (defns is Mal.Vector) { var vec = defns as Mal.Vector; @@ -124,7 +123,7 @@ class Mal.Main : GLib.Object { "let*: expected an even-length vector" + " of definitions"); for (var i = 0; i < vec.length; i += 2) - define_eval(vec[i], vec[i+1], env, env); + define_eval(vec[i], vec[i+1], env); } else { throw new Mal.Error.BAD_PARAMS( "let*: expected a list or vector of definitions"); diff --git a/vala/step6_file.vala b/vala/step6_file.vala index 803cbeabd1..23979477fd 100644 --- a/vala/step6_file.vala +++ b/vala/step6_file.vala @@ -70,16 +70,16 @@ class Mal.Main : GLib.Object { } private static Mal.Val define_eval(Mal.Val key, Mal.Val value, - Mal.Env eval_env, Mal.Env def_env) + Mal.Env env) throws Mal.Error { var rootk = new GC.Root(key); (void)rootk; - var roote = new GC.Root(def_env); (void)roote; + var roote = new GC.Root(env); (void)roote; var symkey = key as Mal.Sym; if (symkey == null) throw new Mal.Error.BAD_PARAMS( "let*: expected a symbol to define"); - var val = EVAL(value, eval_env); - def_env.set(symkey, val); + var val = EVAL(value, env); + env.set(symkey, val); return val; } @@ -112,7 +112,7 @@ class Mal.Main : GLib.Object { throw new Mal.Error.BAD_PARAMS( "def!: expected two values"); return define_eval(list.next.data, list.next.next.data, - env, env); + env); case "let*": if (list.length() != 3) throw new Mal.Error.BAD_PARAMS( @@ -128,8 +128,7 @@ class Mal.Main : GLib.Object { throw new Mal.Error.BAD_PARAMS( "let*: expected an even-length list" + " of definitions"); - define_eval(iter.data, iter.next.data, - env, env); + define_eval(iter.data, iter.next.data, env); } } else if (defns is Mal.Vector) { var vec = defns as Mal.Vector; @@ -138,7 +137,7 @@ class Mal.Main : GLib.Object { "let*: expected an even-length vector" + " of definitions"); for (var i = 0; i < vec.length; i += 2) - define_eval(vec[i], vec[i+1], env, env); + define_eval(vec[i], vec[i+1], env); } else { throw new Mal.Error.BAD_PARAMS( "let*: expected a list or vector of definitions"); diff --git a/vala/step7_quote.vala b/vala/step7_quote.vala index 1348385e3a..57739e1f02 100644 --- a/vala/step7_quote.vala +++ b/vala/step7_quote.vala @@ -70,16 +70,16 @@ class Mal.Main : GLib.Object { } private static Mal.Val define_eval(Mal.Val key, Mal.Val value, - Mal.Env eval_env, Mal.Env def_env) + Mal.Env env) throws Mal.Error { var rootk = new GC.Root(key); (void)rootk; - var roote = new GC.Root(def_env); (void)roote; + var roote = new GC.Root(env); (void)roote; var symkey = key as Mal.Sym; if (symkey == null) throw new Mal.Error.BAD_PARAMS( "let*: expected a symbol to define"); - var val = EVAL(value, eval_env); - def_env.set(symkey, val); + var val = EVAL(value, env); + env.set(symkey, val); return val; } @@ -159,7 +159,7 @@ class Mal.Main : GLib.Object { throw new Mal.Error.BAD_PARAMS( "def!: expected two values"); return define_eval(list.next.data, list.next.next.data, - env, env); + env); case "let*": if (list.length() != 3) throw new Mal.Error.BAD_PARAMS( @@ -175,8 +175,7 @@ class Mal.Main : GLib.Object { throw new Mal.Error.BAD_PARAMS( "let*: expected an even-length list" + " of definitions"); - define_eval(iter.data, iter.next.data, - env, env); + define_eval(iter.data, iter.next.data, env); } } else if (defns is Mal.Vector) { var vec = defns as Mal.Vector; @@ -185,11 +184,10 @@ class Mal.Main : GLib.Object { "let*: expected an even-length vector" + " of definitions"); for (var i = 0; i < vec.length; i += 2) - define_eval(vec[i], vec[i+1], env, env); + define_eval(vec[i], vec[i+1], env); } else { throw new Mal.Error.BAD_PARAMS( - "let*: expected a list or vector of "+ - "definitions"); + "let*: expected a list or vector of definitions"); } ast = list.nth(2).data; continue; // tail-call optimisation diff --git a/vala/step8_macros.vala b/vala/step8_macros.vala index f6cdd3652a..099562e544 100644 --- a/vala/step8_macros.vala +++ b/vala/step8_macros.vala @@ -70,19 +70,19 @@ class Mal.Main : GLib.Object { } private static Mal.Val define_eval(Mal.Val key, Mal.Val value, - Mal.Env eval_env, Mal.Env def_env, + Mal.Env env, bool is_macro = false) throws Mal.Error { var rootk = new GC.Root(key); (void)rootk; - var roote = new GC.Root(def_env); (void)roote; + var roote = new GC.Root(env); (void)roote; var symkey = key as Mal.Sym; if (symkey == null) throw new Mal.Error.BAD_PARAMS( "let*: expected a symbol to define"); - var val = EVAL(value, eval_env); + var val = EVAL(value, env); if (val is Mal.Function) (val as Mal.Function).is_macro = is_macro; - def_env.set(symkey, val); + env.set(symkey, val); return val; } @@ -192,7 +192,7 @@ class Mal.Main : GLib.Object { throw new Mal.Error.BAD_PARAMS( "def!: expected two values"); return define_eval(list.next.data, list.next.next.data, - env, env, sym.v == "defmacro!"); + env, sym.v == "defmacro!"); case "let*": if (list.length() != 3) throw new Mal.Error.BAD_PARAMS( @@ -208,8 +208,7 @@ class Mal.Main : GLib.Object { throw new Mal.Error.BAD_PARAMS( "let*: expected an even-length list" + " of definitions"); - define_eval(iter.data, iter.next.data, - env, env); + define_eval(iter.data, iter.next.data, env); } } else if (defns is Mal.Vector) { var vec = defns as Mal.Vector; @@ -218,7 +217,7 @@ class Mal.Main : GLib.Object { "let*: expected an even-length vector" + " of definitions"); for (var i = 0; i < vec.length; i += 2) - define_eval(vec[i], vec[i+1], env, env); + define_eval(vec[i], vec[i+1], env); } else { throw new Mal.Error.BAD_PARAMS( "let*: expected a list or vector of definitions"); diff --git a/vala/step9_try.vala b/vala/step9_try.vala index 813b27d71b..155690caee 100644 --- a/vala/step9_try.vala +++ b/vala/step9_try.vala @@ -71,19 +71,19 @@ class Mal.Main : GLib.Object { } private static Mal.Val define_eval(Mal.Val key, Mal.Val value, - Mal.Env eval_env, Mal.Env def_env, + Mal.Env env, bool is_macro = false) throws Mal.Error { var rootk = new GC.Root(key); (void)rootk; - var roote = new GC.Root(def_env); (void)roote; + var roote = new GC.Root(env); (void)roote; var symkey = key as Mal.Sym; if (symkey == null) throw new Mal.Error.BAD_PARAMS( "let*: expected a symbol to define"); - var val = EVAL(value, eval_env); + var val = EVAL(value, env); if (val is Mal.Function) (val as Mal.Function).is_macro = is_macro; - def_env.set(symkey, val); + env.set(symkey, val); return val; } @@ -195,7 +195,7 @@ class Mal.Main : GLib.Object { throw new Mal.Error.BAD_PARAMS( "def!: expected two values"); return define_eval(list.next.data, list.next.next.data, - env, env, sym.v == "defmacro!"); + env, sym.v == "defmacro!"); case "let*": if (list.length() != 3) throw new Mal.Error.BAD_PARAMS( @@ -211,8 +211,7 @@ class Mal.Main : GLib.Object { throw new Mal.Error.BAD_PARAMS( "let*: expected an even-length list" + " of definitions"); - define_eval(iter.data, iter.next.data, - env, env); + define_eval(iter.data, iter.next.data, env); } } else if (defns is Mal.Vector) { var vec = defns as Mal.Vector; @@ -221,7 +220,7 @@ class Mal.Main : GLib.Object { "let*: expected an even-length vector" + " of definitions"); for (var i = 0; i < vec.length; i += 2) - define_eval(vec[i], vec[i+1], env, env); + define_eval(vec[i], vec[i+1], env); } else { throw new Mal.Error.BAD_PARAMS( "let*: expected a list or vector of definitions"); diff --git a/vala/stepA_mal.vala b/vala/stepA_mal.vala index b0ed9148be..46eab4d266 100644 --- a/vala/stepA_mal.vala +++ b/vala/stepA_mal.vala @@ -71,19 +71,19 @@ class Mal.Main : GLib.Object { } private static Mal.Val define_eval(Mal.Val key, Mal.Val value, - Mal.Env eval_env, Mal.Env def_env, + Mal.Env env, bool is_macro = false) throws Mal.Error { var rootk = new GC.Root(key); (void)rootk; - var roote = new GC.Root(def_env); (void)roote; + var roote = new GC.Root(env); (void)roote; var symkey = key as Mal.Sym; if (symkey == null) throw new Mal.Error.BAD_PARAMS( "let*: expected a symbol to define"); - var val = EVAL(value, eval_env); + var val = EVAL(value, env); if (val is Mal.Function) (val as Mal.Function).is_macro = is_macro; - def_env.set(symkey, val); + env.set(symkey, val); return val; } @@ -195,7 +195,7 @@ class Mal.Main : GLib.Object { throw new Mal.Error.BAD_PARAMS( "def!: expected two values"); return define_eval(list.next.data, list.next.next.data, - env, env, sym.v == "defmacro!"); + env, sym.v == "defmacro!"); case "let*": if (list.length() != 3) throw new Mal.Error.BAD_PARAMS( @@ -211,8 +211,7 @@ class Mal.Main : GLib.Object { throw new Mal.Error.BAD_PARAMS( "let*: expected an even-length list" + " of definitions"); - define_eval(iter.data, iter.next.data, - env, env); + define_eval(iter.data, iter.next.data, env); } } else if (defns is Mal.Vector) { var vec = defns as Mal.Vector; @@ -221,7 +220,7 @@ class Mal.Main : GLib.Object { "let*: expected an even-length vector" + " of definitions"); for (var i = 0; i < vec.length; i += 2) - define_eval(vec[i], vec[i+1], env, env); + define_eval(vec[i], vec[i+1], env); } else { throw new Mal.Error.BAD_PARAMS( "let*: expected a list or vector of definitions");