aboutsummaryrefslogtreecommitdiff
path: root/ps
diff options
context:
space:
mode:
authorMiki Tebeka <miki.tebeka@gmail.com>2015-03-01 06:12:42 +0200
committerMiki Tebeka <miki.tebeka@gmail.com>2015-03-01 06:12:42 +0200
commit9fb199e2cb2cf44cd61c2a226193a70f6013aadc (patch)
tree325a2a8e33e3e8d18217d10854152cab82ac8b61 /ps
parent49916f9402e30a5277146355be878b32ec30f46d (diff)
parent2cb013877c4ed41d245ce7c5525405c4833c503d (diff)
downloadmal-9fb199e2cb2cf44cd61c2a226193a70f6013aadc.tar.gz
mal-9fb199e2cb2cf44cd61c2a226193a70f6013aadc.zip
Merge branch 'master' of https://github.com/kanaka/mal
Diffstat (limited to 'ps')
-rw-r--r--ps/Makefile2
-rw-r--r--ps/interop.ps4
-rw-r--r--ps/stepA_mal.ps (renamed from ps/stepA_interop.ps)0
-rw-r--r--ps/tests/stepA_mal.mal23
4 files changed, 26 insertions, 3 deletions
diff --git a/ps/Makefile b/ps/Makefile
index 26056a6..9131674 100644
--- a/ps/Makefile
+++ b/ps/Makefile
@@ -2,7 +2,7 @@
TESTS =
SOURCES_BASE = types.ps reader.ps printer.ps
-SOURCES_LISP = env.ps core.ps stepA_interop.ps
+SOURCES_LISP = env.ps core.ps stepA_mal.ps
SOURCES = $(SOURCES_BASE) $(SOURCES_LISP)
.PHONY: stats tests $(TESTS)
diff --git a/ps/interop.ps b/ps/interop.ps
index fb3b88d..8020ab0 100644
--- a/ps/interop.ps
+++ b/ps/interop.ps
@@ -1,6 +1,6 @@
-% ps_val -> ps2mal -> mal_val
+% [ ps_val1...] -> ps2mal -> [ mal_val1...]
/ps2mal {
- % convert a PS value to a Mal value (recursively)
+ % convert returned values to Mal types
[ exch
{ %forall returned values
dup ==
diff --git a/ps/stepA_interop.ps b/ps/stepA_mal.ps
index c879294..c879294 100644
--- a/ps/stepA_interop.ps
+++ b/ps/stepA_mal.ps
diff --git a/ps/tests/stepA_mal.mal b/ps/tests/stepA_mal.mal
new file mode 100644
index 0000000..fffa178
--- /dev/null
+++ b/ps/tests/stepA_mal.mal
@@ -0,0 +1,23 @@
+;; Testing basic ps interop
+
+(ps* "7")
+;=>(7)
+
+(ps* "(7)")
+;=>("7")
+
+(ps* "7 8 9 3 array astore")
+;=>((7 8 9))
+
+(ps* "1 1 eq")
+;=>(true)
+
+(ps* "/sym")
+;=>sym
+
+(ps* "1 1 eq { (yep) }{ (nope) } ifelse")
+;=>("yep")
+
+(ps* "1 0 eq { (yep) }{ (nope) } ifelse")
+;=>("nope")
+