summaryrefslogtreecommitdiff
path: root/typed-stream.rkt
blob: b6747503502fba09e4f28163a178293232dfade0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
#lang racket
(require racket/stream)

(provide lazy-functional-stream-append)

(define (lazy-functional-stream-append seq thunk)
  (let-values ([(next? next) (sequence-generate seq)])
    (let loop ()
      (if (next?)
          (let ([x (next)])
            (stream-cons x (loop)))
          (thunk)))))