mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-19 21:59:17 +02:00
19 lines
454 B
Scheme
19 lines
454 B
Scheme
|
|
(define-library (scheme lazy)
|
|
(import (chibi))
|
|
(export delay force delay-force make-promise promise?)
|
|
(begin
|
|
(define (make-promise x)
|
|
(delay x)))
|
|
(cond-expand
|
|
(auto-force
|
|
)
|
|
(else
|
|
(begin
|
|
(define (promise? x)
|
|
(and (pair? x)
|
|
(null? (cdr x))
|
|
(pair? (car x))
|
|
(or (eq? #t (caar x))
|
|
(and (eq? #f (caar x))
|
|
(procedure? (cdar x))))))))))
|