From 7a296256597211a6a46ab444726a136e1484d2d9 Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Mon, 7 Apr 2008 19:55:54 +0000 Subject: [PATCH] lift handle-results, since matthew said that the compiler might not do so svn: r9181 --- collects/scheme/promise.ss | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/collects/scheme/promise.ss b/collects/scheme/promise.ss index 2a5f7f4f3d..04ee5ad7b8 100644 --- a/collects/scheme/promise.ss +++ b/collects/scheme/promise.ss @@ -86,11 +86,13 @@ ;; * does not deal with multiple values, since they're not used by the lazy ;; language (but see below) + (define handle-results + (case-lambda [(single) (values #f single)] + [multi (values #t multi)])) + (define (force-proc p root) (let loop1 ([p p]) - (let-values ([(multi? v) (call-with-values p - (case-lambda [(single) (values #f single)] - [multi (values #t multi)]))]) + (let-values ([(multi? v) (call-with-values p handle-results)]) (if multi? (begin ; error here for "library approach" (see above URL) (set-promise-val! root v)