From db950ffbdf0cc267e3254255e5d3daefd06392fa Mon Sep 17 00:00:00 2001 From: bnewbold Date: Tue, 24 Feb 2009 19:53:41 -0500 Subject: problem set 3 files --- ps03_evalapply/kons.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 ps03_evalapply/kons.scm (limited to 'ps03_evalapply/kons.scm') diff --git a/ps03_evalapply/kons.scm b/ps03_evalapply/kons.scm new file mode 100644 index 0000000..4fc7b73 --- /dev/null +++ b/ps03_evalapply/kons.scm @@ -0,0 +1,12 @@ +;;; A valuable special form -- the nonstrict version of CONS: + +(define (kons? exp) + (and (pair? exp) + (eq? (car exp) 'kons))) + +(defhandler eval + (lambda (expression environment) + (cons (delay-memo (cadr expression) environment) + (delay-memo (caddr expression) environment))) + kons?) + -- cgit v1.2.3