aboutsummaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorJoel Martin <github@martintribe.org>2014-04-19 13:04:09 -0500
committerJoel Martin <github@martintribe.org>2014-04-19 13:04:09 -0500
commit86b689f3d7111a9fa13da389a30f3dfdf877d1a4 (patch)
treed72b065f9f987e291f892ceee5a8640363bfd9df /java/src
parent718887c3019c49fc807bc18fbd5feb975ec03c85 (diff)
downloadmal-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.java2
-rw-r--r--java/src/main/java/mal/step1_read_print.java2
-rw-r--r--java/src/main/java/mal/step2_eval.java2
-rw-r--r--java/src/main/java/mal/step3_env.java2
-rw-r--r--java/src/main/java/mal/step4_if_fn_do.java2
-rw-r--r--java/src/main/java/mal/step5_tco.java2
-rw-r--r--java/src/main/java/mal/step6_file.java12
-rw-r--r--java/src/main/java/mal/step7_quote.java12
-rw-r--r--java/src/main/java/mal/step8_macros.java12
-rw-r--r--java/src/main/java/mal/stepA_more.java15
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 {