;;; $Id: seq-as-proc.scm,v 1.2 2005/12/22 05:06:01 leavens Exp $ ;;; INFINITE SEQUENCS AS PROCEDURES (module seq-as-proc (lib "typedscm.ss" "typedscm") (provide seq-repeat seq-generator seq-nth seq-add) (deftype seq-repeat (-> (number) seq)) (deftype seq-generator (-> ((-> (number) number)) seq)) (deftype seq-add (-> (seq seq) seq)) (deftype seq-nth (-> (seq number) number)) (defrep (seq (-> (number) number))) (define seq-repeat (lambda (num) (lambda (n) num))) (define seq-generator (lambda (f) (lambda (n) (f n)))) (define seq-add (lambda (s1 s2) (lambda (n) (+ (seq-nth s1 n) (seq-nth s2 n))))) (define seq-nth (lambda (s n) (s n))) ) ;; end module