mirror of
https://gitlab.cs.washington.edu/fidelp/frustration.git
synced 2024-12-25 21:58:11 +01:00
add examples
This commit is contained in:
parent
755d8e068b
commit
214a4917cd
1 changed files with 32 additions and 0 deletions
32
README.md
32
README.md
|
@ -7,3 +7,35 @@ the language it's interpreting. PARSE/WORD and the input stream
|
|||
handling was the first place this became obvious. This design is a
|
||||
dead end. The path forward would be stripping it back to primitives
|
||||
and rewriting the outer interpreter in Forth.
|
||||
|
||||
Here are things it can do today:
|
||||
|
||||
Print some terms of the fibonacci sequence:
|
||||
```
|
||||
: over >r dup r> swap ;
|
||||
: fib recursive r> drop over + swap dup . dup 144 - ? fib ;
|
||||
: fib 1 0 fib ;
|
||||
|
||||
fib
|
||||
1 1 2 3 5 8 13 21 34 55 89 144 ok
|
||||
```
|
||||
|
||||
Compute the number of cans in a triangular stack of height n.
|
||||
For example a stack of height 3 contains 6 cans.
|
||||
```
|
||||
x
|
||||
x x
|
||||
x x x
|
||||
```
|
||||
|
||||
```
|
||||
variable cans
|
||||
: c recursive r> drop dup cans @ + cans ! 1 - dup ? c ;
|
||||
: c c ;
|
||||
: can-stack 0 cans ! c cans @ ;
|
||||
|
||||
3 can-stack .
|
||||
6 ok
|
||||
10 can-stack .
|
||||
55 ok
|
||||
```
|
||||
|
|
Loading…
Reference in a new issue