(load "define-class.l") (load "port.l") (load "data-stream.k") (load "ansiterm.l") (define-function nth (n list) (while (and (pair? list) (>= (incr n -1) 0)) (set list (cdr list))) (car list)) (define-function %receive (vars) (and (pair? vars) (cons `(set ,(car vars) (car _)) (cons '(set _ (cdr _)) (%receive (cdr vars)))))) (define-form receive (expr . vars) `(let ((_ ,expr)) ,@(%receive vars))) (define values list) ;;; ---------------- (define-structure