From 04b97ff9770e74d88be929d7e9dbb6735444591e Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Mon, 23 Jun 2008 14:32:27 +0000 Subject: [PATCH] Make promise.ss use #%kernel directly -- this way mzscheme does not depend on scheme/base. svn: r10424 --- collects/scheme/promise.ss | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/collects/scheme/promise.ss b/collects/scheme/promise.ss index f9acf6eadf..4e50dcbe89 100644 --- a/collects/scheme/promise.ss +++ b/collects/scheme/promise.ss @@ -1,4 +1,8 @@ -#lang scheme/base +(module promise '#%kernel +(#%require "private/small-scheme.ss" "private/more-scheme.ss" "private/define.ss" + (rename "private/define-struct.ss" define-struct define-struct*) + (for-syntax '#%kernel "private/stxcase-scheme.ss")) +(#%provide lazy delay force promise?) ;; This module implements "lazy promises" and a `force' that is iterated ;; through them. @@ -14,9 +18,6 @@ ;; promise values), and `force'+`lazy' are sufficient for implementing ;; the lazy language. -(require (for-syntax scheme/base)) -(provide lazy delay force promise?) - (define (promise-printer promise port write?) (let loop ([p (promise-val promise)]) (cond [(reraise? p) @@ -37,7 +38,7 @@ [else (display "#" port)]))) (define-struct promise (val) @@ -126,3 +127,5 @@ [else (apply values p)])) ;; different from srfi-45: identity for non-promises promise)) + +)