home *** CD-ROM | disk | FTP | other *** search
- ; sys.lsp ist eine Sammlung Lisp-definierter Funktionen
-
- (define (memo-proc p)
- (let ((a ()) (r ()))
- (lambda ()
- (if (not a)
- (begin (set! r (p)) (set! a t) r)
- r))))
-
- (define (force %$%d)
- (define %$%q (cadr %$%d))
- (%$%q))
-
- (define (head x) (car x))
-
- (define (tail x) (force (cdr x)))
-
- (define the-empty-stream '%empty-stream%)
-
- (define (stream? x)
- (if (empty-stream? x) t
- (if (pair? x)
- (delayed? (cdr x))
- nil)))
-
- (define cons-stream (dlambda (h ta)
- (cons (force h) ta)))
-
- (define (empty-stream? x)
- (equal? x the-empty-stream))