aboutsummaryrefslogtreecommitdiff
path: root/forth/tests/stepA_interop.mal
diff options
context:
space:
mode:
authorJoel Martin <github@martintribe.org>2015-02-28 11:09:54 -0600
committerJoel Martin <github@martintribe.org>2015-02-28 11:09:54 -0600
commit90f618cbe7ac7740accf501a75be6972bd95be1a (patch)
tree33a2a221e09f012a25e9ad8317a95bae6ffe1b08 /forth/tests/stepA_interop.mal
parent699f0ad23aca21076edb6a51838d879ca580ffd5 (diff)
downloadmal-90f618cbe7ac7740accf501a75be6972bd95be1a.tar.gz
mal-90f618cbe7ac7740accf501a75be6972bd95be1a.zip
All: rename stepA_interop to stepA_mal
Also, add missed postscript interop tests.
Diffstat (limited to 'forth/tests/stepA_interop.mal')
-rw-r--r--forth/tests/stepA_interop.mal41
1 files changed, 0 insertions, 41 deletions
diff --git a/forth/tests/stepA_interop.mal b/forth/tests/stepA_interop.mal
deleted file mode 100644
index c4a0e75..0000000
--- a/forth/tests/stepA_interop.mal
+++ /dev/null
@@ -1,41 +0,0 @@
-;; Basic interop
-(. 5 'MalInt.)
-;=>5
-(. 11 31 '+ 'MalInt.)
-;=>42
-(. "greetings" 'MalString.)
-;=>"greetings"
-(. "hello" 'type 'cr 'mal-nil)
-; hello
-;=>nil
-
-;; Interop on non-literals
-(. (+ 15 27) 'MalInt.)
-;=>42
-(let* [a 17] (. a 25 '+ 'MalInt.))
-;=>42
-(let* [a "hello"] (. a 1 '- 'MalString.))
-;=>"hell"
-
-;; Use of annoyingly-named forth words
-(. 1 'MalInt. (symbol ",") 'here (symbol "@"))
-;=>1
-(let* (i 'MalInt.) (. 5 i))
-;=>5
-(let* (comma (symbol ",") fetch (symbol "@")) (. 'here 42 'MalInt. comma fetch))
-;=>42
-
-;; Multiple .-forms interacting via heap memory and mal locals
-(def! string-parts (fn* (s) (. s 'MalInt. 'swap 'MalInt. 'here '-rot (symbol ",") (symbol ",") 'here>MalList)))
-(first (rest (string-parts "sketchy")))
-;=>7
-(def! prn-chars (fn* (start count) (if (> count 0) (do (prn (. start 1 'MalString.)) (prn-chars (+ start 1) (- count 1))))))
-(let* (msg (string-parts "sketchy")) (prn-chars (first msg) (first (rest msg))))
-; "s"
-; "k"
-; "e"
-; "t"
-; "c"
-; "h"
-; "y"
-;=>nil