diff options
Diffstat (limited to 'tests/012/cont.tl')
-rw-r--r-- | tests/012/cont.tl | 19 |
1 files changed, 19 insertions, 0 deletions
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)) |