force: avoid double promise-forcer
test
This commit is contained in:
parent
272271f36f
commit
90e708d78e
|
@ -113,10 +113,11 @@
|
||||||
v))))
|
v))))
|
||||||
|
|
||||||
;; dispatcher for composable promises, generic promises, and other values
|
;; dispatcher for composable promises, generic promises, and other values
|
||||||
(define (force promise)
|
(define (force v)
|
||||||
(if (promise? promise)
|
(let ([forcer (promise-forcer v #f)])
|
||||||
((promise-forcer promise) promise) ; dispatch to specific forcer
|
(if forcer
|
||||||
promise)) ; different from srfi-45: identity for non-promises
|
(forcer v) ; dispatch to specific forcer
|
||||||
|
v))) ; different from srfi-45: identity for non-promises
|
||||||
|
|
||||||
;; ----------------------------------------------------------------------------
|
;; ----------------------------------------------------------------------------
|
||||||
;; Struct definitions
|
;; Struct definitions
|
||||||
|
|
Loading…
Reference in New Issue
Block a user