On Jul 8, 2012, at 7:25 AM, Daniel King wrote:

>  (define (stream-map f s)
>    (unless (procedure? f) (raise-argument-error 'stream-map "procedure?" f))
>    (unless (stream? s) (raise-argument-error 'stream-map "stream?" s))



On a related note, the above kind of checks should really become real 
contracts.  -- Matthias





>    (let loop ([s s])
>      (cond
>       [(stream-empty? s) empty-stream]
>       [else (stream-cons (call-with-values (lambda () (stream-first s)) f)
>                          (loop (stream-rest s)))])))





_________________________
  Racket Developers list:
  http://lists.racket-lang.org/dev

Reply via email to