reformatting
svn: r8114
This commit is contained in:
parent
4923f00a0d
commit
9ba922ff1c
|
@ -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*)
|
||||
|
|
Loading…
Reference in New Issue
Block a user