picrin/contrib/20.for/piclib/for.scm

21 lines
363 B
Scheme

(define-library (picrin control list)
(import (scheme base)
(picrin control))
(define-syntax for
(syntax-rules ()
((_ expr)
(reset (lambda () expr)))))
(define (in m)
(shift (lambda (k)
(apply append (map k m)))))
(define (yield x)
(list x))
(define (null . x)
'())
(export for in yield null))