summaryrefslogtreecommitdiffstats
path: root/samples
diff options
context:
space:
mode:
Diffstat (limited to 'samples')
-rw-r--r--samples/char.sample9
-rw-r--r--samples/list.sample5
-rw-r--r--samples/modulo.sample15
3 files changed, 24 insertions, 5 deletions
diff --git a/samples/char.sample b/samples/char.sample
new file mode 100644
index 0000000..05e2b9a
--- /dev/null
+++ b/samples/char.sample
@@ -0,0 +1,9 @@
+define up unphrase ;
+define p phrase ;
+
+define hello
+ $name !
+ '[ "Hello " up $name @ up " 👋" up '] p
+ $name forget ;
+
+"Jan" hello s.
diff --git a/samples/list.sample b/samples/list.sample
index b3fc947..c0fa5da 100644
--- a/samples/list.sample
+++ b/samples/list.sample
@@ -21,4 +21,7 @@ define ..
[ 2 3 ] 1 prepend .
[ 2 3 ] 4 append .
-[ 1 2 3 ] pop .. \ No newline at end of file
+[ 1 2 3 ] pop $1 ! pop $2 ! pop $3 !
+$1 ?
+$2 ?
+$3 ?
diff --git a/samples/modulo.sample b/samples/modulo.sample
index 235d135..b093015 100644
--- a/samples/modulo.sample
+++ b/samples/modulo.sample
@@ -1,5 +1,12 @@
+define decrement
+ dup $decrement_var !
+ @ 1 - $decrement_var @ !
+ $decrement_var forget ;
+
10 $idx !
-[ $idx @ dup 0 gt? ]
- [ 2 mod 0 eq? .
- $idx @ 1 - $idx ! ] loop
-drop \ No newline at end of file
+[ $idx @ dup 0 gt? ] -- while idx > 0
+ [ 2 mod 0 eq? -- print "even" if even, "odd" if odd
+ [ "even" s. ]
+ [ "odd" s. ] cond
+ $idx decrement ] loop -- decrement idx by 1
+drop