diff options
| author | Jan Tuomi <jans.tuomi@gmail.com> | 2022-01-29 23:11:03 +0200 |
|---|---|---|
| committer | Jan Tuomi <jans.tuomi@gmail.com> | 2022-01-29 23:11:03 +0200 |
| commit | 649319b1dafb130801638c5a156e37d9e865ba5c (patch) | |
| tree | 7bc633565d87c3bbebc7c67f6bbda10db6c13f21 /samples | |
| parent | 4d1a0eea5a433724764b4178d16fcb50d1c2b6bc (diff) | |
Implement strings as phrases of chars
Diffstat (limited to 'samples')
| -rw-r--r-- | samples/char.sample | 9 | ||||
| -rw-r--r-- | samples/list.sample | 5 | ||||
| -rw-r--r-- | samples/modulo.sample | 15 |
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 |
