Hi all,

John Cowan pointed out in #chicken that R4RS did not have "eval", so I
think it's a mistake to export that from the "r4rs" module.

See http://people.csail.mit.edu/jaffer/r4rs_14.html

The attached patch moves it to r5rs (and thus, also scheme).

Cheers,
Peter
From 19aae5700df4131ed41c447428e1b355c1751d5e Mon Sep 17 00:00:00 2001
From: Peter Bex <pe...@more-magic.net>
Date: Sun, 11 Mar 2018 19:13:57 +0100
Subject: [PATCH] Move "eval" from r4rs to r5rs

---
 NEWS        | 1 +
 modules.scm | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index ceda95b7..9d254a5a 100644
--- a/NEWS
+++ b/NEWS
@@ -82,6 +82,7 @@
     `move-file', for consistency with `delete-file' and `rename-file'.
   - `rename-file' now refuses to overwrite an existing file unless an
     optional "clobber" argument is provided.
+  - The `r4rs` module no longer exports `eval`, which was not in R4RS.
 
 - Module system
   - The compiler has been modularised, for improved namespacing.  This
diff --git a/modules.scm b/modules.scm
index f113a875..f4f95789 100644
--- a/modules.scm
+++ b/modules.scm
@@ -1020,7 +1020,7 @@
 	 (eof-object? . scheme#eof-object?)
 	 (with-input-from-file . scheme#with-input-from-file)
 	 (with-output-to-file . scheme#with-output-to-file)
-	 (eval . scheme#eval) (char-ready? . scheme#char-ready?)
+	 (char-ready? . scheme#char-ready?)
 	 (imag-part . scheme#imag-part) (real-part . scheme#real-part)
 	 (make-rectangular . scheme#make-rectangular)
 	 (make-polar . scheme#make-polar)
@@ -1035,6 +1035,7 @@
   (##sys#register-core-module
    'scheme 'library
    (append '((dynamic-wind . scheme#dynamic-wind)
+	     (eval . scheme#eval)
 	     (values . scheme#values)
 	     (call-with-values . scheme#call-with-values))
 	   r4rs-values)
-- 
2.11.0

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to