reformatting

svn: r8114
This commit is contained in:
Eli Barzilay 2007-12-24 11:29:33 +00:00
parent 4923f00a0d
commit 9ba922ff1c

View File

@ -33,15 +33,12 @@
;; single or multiple values
(fprintf port
(if write? "#<promise!~a~s" "#<promise!~a~a")
(if (null? (cdr p))
""
"(values ")
(if (null? (cdr p)) "" "(values ")
(car p))
(when (pair? (cdr p))
(let ([fmt (if write? " ~s" " ~a")])
(for-each (lambda (x) (fprintf port fmt x)) (cdr p))))
(unless (null? (cdr p))
(display ")" port))
(unless (null? (cdr p)) (display ")" port))
(display ">" port)]
[(promise? p) (loop (promise-val p))] ; hide sharing
[else (loop (list p))])))
@ -100,11 +97,10 @@
;; mark root for cycle detection:
(set-promise-val! promise running)
(with-handlers* ([void (lambda (e)
(set-promise-val! promise (lambda () (raise e)))
(set-promise-val! promise
(lambda () (raise e)))
(raise e))])
(let-values ([(single? vals*)
(call-with-values p
handle-results)])
(let-values ([(single? vals*) (call-with-values p handle-results)])
(if single?
(let loop1 ([val* vals*])
(if (promise? val*)
@ -113,12 +109,11 @@
(set-promise-val! promise* promise) ; share with root
(cond [(procedure? p*)
(let-values ([(single? vals)
(call-with-values p*
handle-results)])
(call-with-values
p* handle-results)])
(if single?
(loop1 vals)
(begin
(set-promise-val! promise vals)
(begin (set-promise-val! promise vals)
(apply values vals))))]
[(or (pair? p*) (null? p*))
(set-promise-val! promise p*)