From e56d50614ca6c42c090bf1af1aa6146bde177910 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Sat, 2 Jan 1988 14:21:45 +0000 Subject: [PATCH] Change definitions and names of operations on objects whose type is `delayed'. Old name for such objects was `delayed-evaluation', new name is `promise'. The microcode has been extended to allow a new kind of `promise', distinguished by a fixnum zero in its car, whose cdr is a procedure of no arguments which is applied to get the value. This is used to support compiled promises. --- v7/src/runtime/where.scm | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/v7/src/runtime/where.scm b/v7/src/runtime/where.scm index e83f75b61..485f2b6b0 100644 --- a/v7/src/runtime/where.scm +++ b/v7/src/runtime/where.scm @@ -1,6 +1,6 @@ ;;; -*-Scheme-*- ;;; -;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/where.scm,v 13.43 1987/12/05 16:40:57 cph Exp $ +;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/where.scm,v 13.44 1988/01/02 14:21:45 cph Rel $ ;;; ;;; Copyright (c) 1987 Massachusetts Institute of Technology ;;; @@ -70,14 +70,10 @@ env-spec) ((compound-procedure? env-spec) (procedure-environment env-spec)) - ((delayed? env-spec) - (if (delayed-evaluation-forced? env-spec) - (error "Not a valid environment, already forced" - (list where env-spec)) - (delayed-evaluation-environment env-spec))) + ((promise? env-spec) + (promise-environment env-spec)) (else - (error "Not a legal environment object" 'WHERE - env-spec))))) + (error "WHERE: Not a legal environment object" env-spec))))) (environment-warning-hook environment) (fluid-let ((env environment) (current-frame environment) -- 2.25.1