diff options
| author | Joel Martin <github@martintribe.org> | 2014-04-19 13:04:09 -0500 |
|---|---|---|
| committer | Joel Martin <github@martintribe.org> | 2014-04-19 13:04:09 -0500 |
| commit | 86b689f3d7111a9fa13da389a30f3dfdf877d1a4 (patch) | |
| tree | d72b065f9f987e291f892ceee5a8640363bfd9df /java/src | |
| parent | 718887c3019c49fc807bc18fbd5feb975ec03c85 (diff) | |
| download | mal-86b689f3d7111a9fa13da389a30f3dfdf877d1a4.tar.gz mal-86b689f3d7111a9fa13da389a30f3dfdf877d1a4.zip | |
All: *ARGV* and *host-language*. Misc syncing/fixes.
Diffstat (limited to 'java/src')
| -rw-r--r-- | java/src/main/java/mal/step0_repl.java | 2 | ||||
| -rw-r--r-- | java/src/main/java/mal/step1_read_print.java | 2 | ||||
| -rw-r--r-- | java/src/main/java/mal/step2_eval.java | 2 | ||||
| -rw-r--r-- | java/src/main/java/mal/step3_env.java | 2 | ||||
| -rw-r--r-- | java/src/main/java/mal/step4_if_fn_do.java | 2 | ||||
| -rw-r--r-- | java/src/main/java/mal/step5_tco.java | 2 | ||||
| -rw-r--r-- | java/src/main/java/mal/step6_file.java | 12 | ||||
| -rw-r--r-- | java/src/main/java/mal/step7_quote.java | 12 | ||||
| -rw-r--r-- | java/src/main/java/mal/step8_macros.java | 12 | ||||
| -rw-r--r-- | java/src/main/java/mal/stepA_more.java | 15 |
10 files changed, 41 insertions, 22 deletions
diff --git a/java/src/main/java/mal/step0_repl.java b/java/src/main/java/mal/step0_repl.java index 9095aca..060f43e 100644 --- a/java/src/main/java/mal/step0_repl.java +++ b/java/src/main/java/mal/step0_repl.java @@ -20,7 +20,7 @@ public class step0_repl { return exp; } - // REPL + // repl public static String RE(String env, String str) { return EVAL(READ(str), env); } diff --git a/java/src/main/java/mal/step1_read_print.java b/java/src/main/java/mal/step1_read_print.java index 3f7e3fb..2c029aa 100644 --- a/java/src/main/java/mal/step1_read_print.java +++ b/java/src/main/java/mal/step1_read_print.java @@ -23,7 +23,7 @@ public class step1_read_print { return printer._pr_str(exp, true); } - // REPL + // repl public static MalVal RE(String env, String str) throws MalThrowable { return EVAL(READ(str), env); } diff --git a/java/src/main/java/mal/step2_eval.java b/java/src/main/java/mal/step2_eval.java index cc2b785..ee8ea26 100644 --- a/java/src/main/java/mal/step2_eval.java +++ b/java/src/main/java/mal/step2_eval.java @@ -72,7 +72,7 @@ public class step2_eval { return printer._pr_str(exp, true); } - // REPL + // repl public static MalVal RE(HashMap env, String str) throws MalThrowable { return EVAL(READ(str), env); } diff --git a/java/src/main/java/mal/step3_env.java b/java/src/main/java/mal/step3_env.java index 297453c..0bf5c16 100644 --- a/java/src/main/java/mal/step3_env.java +++ b/java/src/main/java/mal/step3_env.java @@ -92,7 +92,7 @@ public class step3_env { return printer._pr_str(exp, true); } - // REPL + // repl public static MalVal RE(Env env, String str) throws MalThrowable { return EVAL(READ(str), env); } diff --git a/java/src/main/java/mal/step4_if_fn_do.java b/java/src/main/java/mal/step4_if_fn_do.java index 6e7997a..9a66542 100644 --- a/java/src/main/java/mal/step4_if_fn_do.java +++ b/java/src/main/java/mal/step4_if_fn_do.java @@ -118,7 +118,7 @@ public class step4_if_fn_do { return printer._pr_str(exp, true); } - // REPL + // repl public static MalVal RE(Env env, String str) throws MalThrowable { return EVAL(READ(str), env); } diff --git a/java/src/main/java/mal/step5_tco.java b/java/src/main/java/mal/step5_tco.java index ad15d74..dd1dc89 100644 --- a/java/src/main/java/mal/step5_tco.java +++ b/java/src/main/java/mal/step5_tco.java @@ -129,7 +129,7 @@ public class step5_tco { return printer._pr_str(exp, true); } - // REPL + // repl public static MalVal RE(Env env, String str) throws MalThrowable { return EVAL(READ(str), env); } diff --git a/java/src/main/java/mal/step6_file.java b/java/src/main/java/mal/step6_file.java index 446ffa0..4bf0f0e 100644 --- a/java/src/main/java/mal/step6_file.java +++ b/java/src/main/java/mal/step6_file.java @@ -129,7 +129,7 @@ public class step6_file { return printer._pr_str(exp, true); } - // REPL + // repl public static MalVal RE(Env env, String str) throws MalThrowable { return EVAL(READ(str), env); } @@ -148,6 +148,12 @@ public class step6_file { return EVAL(args.nth(0), repl_env); } }); + MalList _argv = new MalList(); + for (Integer i=1; i < args.length; i++) { + _argv.conj_BANG(new MalString(args[i])); + } + repl_env.set("*ARGV*", _argv); + // core.mal: defined using the language itself RE(repl_env, "(def! not (fn* (a) (if a false true)))"); @@ -159,9 +165,7 @@ public class step6_file { fileIdx = 1; } if (args.length > fileIdx) { - for(Integer i=fileIdx; i<args.length; i++) { - RE(repl_env, "(load-file \"" + args[i] + "\")"); - } + RE(repl_env, "(load-file \"" + args[fileIdx] + "\")"); return; } while (true) { diff --git a/java/src/main/java/mal/step7_quote.java b/java/src/main/java/mal/step7_quote.java index 2f5a638..da0781b 100644 --- a/java/src/main/java/mal/step7_quote.java +++ b/java/src/main/java/mal/step7_quote.java @@ -160,7 +160,7 @@ public class step7_quote { return printer._pr_str(exp, true); } - // REPL + // repl public static MalVal RE(Env env, String str) throws MalThrowable { return EVAL(READ(str), env); } @@ -179,6 +179,12 @@ public class step7_quote { return EVAL(args.nth(0), repl_env); } }); + MalList _argv = new MalList(); + for (Integer i=1; i < args.length; i++) { + _argv.conj_BANG(new MalString(args[i])); + } + repl_env.set("*ARGV*", _argv); + // core.mal: defined using the language itself RE(repl_env, "(def! not (fn* (a) (if a false true)))"); @@ -190,9 +196,7 @@ public class step7_quote { fileIdx = 1; } if (args.length > fileIdx) { - for(Integer i=fileIdx; i<args.length; i++) { - RE(repl_env, "(load-file \"" + args[i] + "\")"); - } + RE(repl_env, "(load-file \"" + args[fileIdx] + "\")"); return; } while (true) { diff --git a/java/src/main/java/mal/step8_macros.java b/java/src/main/java/mal/step8_macros.java index 914c7d3..c4cb1de 100644 --- a/java/src/main/java/mal/step8_macros.java +++ b/java/src/main/java/mal/step8_macros.java @@ -198,7 +198,7 @@ public class step8_macros { return printer._pr_str(exp, true); } - // REPL + // repl public static MalVal RE(Env env, String str) throws MalThrowable { return EVAL(READ(str), env); } @@ -217,6 +217,12 @@ public class step8_macros { return EVAL(args.nth(0), repl_env); } }); + MalList _argv = new MalList(); + for (Integer i=1; i < args.length; i++) { + _argv.conj_BANG(new MalString(args[i])); + } + repl_env.set("*ARGV*", _argv); + // core.mal: defined using the language itself RE(repl_env, "(def! not (fn* (a) (if a false true)))"); @@ -230,9 +236,7 @@ public class step8_macros { fileIdx = 1; } if (args.length > fileIdx) { - for(Integer i=fileIdx; i<args.length; i++) { - RE(repl_env, "(load-file \"" + args[i] + "\")"); - } + RE(repl_env, "(load-file \"" + args[fileIdx] + "\")"); return; } while (true) { diff --git a/java/src/main/java/mal/stepA_more.java b/java/src/main/java/mal/stepA_more.java index 17bdb16..20dee3f 100644 --- a/java/src/main/java/mal/stepA_more.java +++ b/java/src/main/java/mal/stepA_more.java @@ -224,7 +224,7 @@ public class stepA_more { return printer._pr_str(exp, true); } - // REPL + // repl public static MalVal RE(Env env, String str) throws MalThrowable { return EVAL(READ(str), env); } @@ -243,6 +243,12 @@ public class stepA_more { return EVAL(args.nth(0), repl_env); } }); + MalList _argv = new MalList(); + for (Integer i=1; i < args.length; i++) { + _argv.conj_BANG(new MalString(args[i])); + } + repl_env.set("*ARGV*", _argv); + // core.mal: defined using the language itself RE(repl_env, "(def! *host-language* \"java\")"); @@ -257,11 +263,12 @@ public class stepA_more { fileIdx = 1; } if (args.length > fileIdx) { - for(Integer i=fileIdx; i<args.length; i++) { - RE(repl_env, "(load-file \"" + args[i] + "\")"); - } + RE(repl_env, "(load-file \"" + args[fileIdx] + "\")"); return; } + + // repl loop + RE(repl_env, "(println (str \"Mal [\" *host-language* \"]\"))"); while (true) { String line; try { |
