diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-10-28 06:18:39 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-10-28 06:18:39 -0700 |
commit | 92ee851ccfee8ac13a055cbdad503789ffa2a6b9 (patch) | |
tree | 84d1efacc138c36d9a077e40a3a8d99a4f2bd300 /tests | |
parent | c39c6e6b72c750180dd13c38db8c69a609dbf574 (diff) | |
download | txr-92ee851ccfee8ac13a055cbdad503789ffa2a6b9.tar.gz txr-92ee851ccfee8ac13a055cbdad503789ffa2a6b9.tar.bz2 txr-92ee851ccfee8ac13a055cbdad503789ffa2a6b9.zip |
Add some tests for continuations.
* tests/012/cont.tl: New file.
* tests/012/cont.expected: New file.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/012/cont.expected | 0 | ||||
-rw-r--r-- | tests/012/cont.tl | 19 |
2 files changed, 19 insertions, 0 deletions
diff --git a/tests/012/cont.expected b/tests/012/cont.expected new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/tests/012/cont.expected diff --git a/tests/012/cont.tl b/tests/012/cont.tl new file mode 100644 index 00000000..6bdfa14c --- /dev/null +++ b/tests/012/cont.tl @@ -0,0 +1,19 @@ +(load "../common") + +(vtest (let ((f (obtain (for ((i 0)) () ((inc i)) (yield i))))) + (take 2000 (gun (call f)))) + (range* 0 2000)) + +(defun yflatten (obj) + (labels ((flatten-rec (obj) + (cond + ((null obj)) + ((atom obj) (yield-from yflatten obj)) + (t (flatten-rec (car obj)) + (flatten-rec (cdr obj)))))) + (flatten-rec obj) + nil)) + +(test (let ((f (obtain (yflatten '(a b (c . d) (e (f (g)))))))) + (gun [f])) + (a b c d e f g)) |