Reorder some recursive definitions to avoid undefined references.

Please include in v6.1 release if possible.
This commit is contained in:
Gregory Cooper 2014-07-18 22:25:04 -07:00
parent 2a07425f26
commit 45306397cc

View File

@ -412,17 +412,7 @@
(current-inexact-milliseconds)) (current-inexact-milliseconds))
empty)] empty)]
[head last] [head last]
[consumer (proc->signal [consumer #f]
(lambda ()
(let* ([now (current-inexact-milliseconds)]
[new (deep-value-now beh empty)]
[ms (value-now ms-b)])
(when (not (equal? new (car (mcar last))))
(set-mcdr! last (mcons (cons new now)
empty))
(set! last (mcdr last))
(schedule-alarm (+ now ms) producer))))
beh ms-b)]
[producer (proc->signal [producer (proc->signal
(lambda () (lambda ()
(let* ([now (and (signal? consumer) (current-inexact-milliseconds))] (let* ([now (and (signal? consumer) (current-inexact-milliseconds))]
@ -437,7 +427,19 @@
(begin (begin
(set! head (mcdr head)) (set! head (mcdr head))
(loop)))))))]) (loop)))))))])
producer)) (begin
(set! consumer (proc->signal
(lambda ()
(let* ([now (current-inexact-milliseconds)]
[new (deep-value-now beh empty)]
[ms (value-now ms-b)])
(when (not (equal? new (car (mcar last))))
(set-mcdr! last (mcons (cons new now)
empty))
(set! last (mcdr last))
(schedule-alarm (+ now ms) producer))))
beh ms-b))
producer)))
(define (inf-delay beh) (define (inf-delay beh)
(delay-by beh 0)) (delay-by beh 0))
@ -451,8 +453,8 @@
[last-time (current-inexact-milliseconds)] [last-time (current-inexact-milliseconds)]
[last-val (value-now b)] [last-val (value-now b)]
[last-alarm 0] [last-alarm 0]
[producer (proc->signal (lambda () (and (signal? consumer) accum)))] [consumer (proc->signal void b ms-b)]
[consumer (proc->signal void b ms-b)]) [producer (proc->signal (lambda () (and (signal? consumer) accum)))])
(set-signal-thunk! (set-signal-thunk!
consumer consumer
(lambda () (lambda ()