From 1c87635236855564a894a544d29d4433b8857438 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Tue, 5 Jan 2016 23:00:10 -0500 Subject: [PATCH] Make additional icyc modules visible in repl By recreating a fresh global environment after all imports have been processed, and passing this to eval, all modules loaded by icyc are available to eval. --- icyc.scm | 4 +++- scheme/eval.sld | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/icyc.scm b/icyc.scm index 90703e74..7da42f55 100644 --- a/icyc.scm +++ b/icyc.scm @@ -7,6 +7,7 @@ (import (scheme cyclone common) (scheme base) (scheme char) + (scheme load) (scheme read) (scheme write) (scheme eval)) @@ -15,6 +16,7 @@ (display *Cyc-version-banner*)) (else #f)) +(define *icyc-env* (setup-environment)) (define (repl:next-line) (call/cc (lambda (k) @@ -38,7 +40,7 @@ (define (repl) (display "cyclone> ") - (let ((c (eval (read)))) + (let ((c (eval (read) *icyc-env*))) (cond ((not (eof-object? c)) (write c) diff --git a/scheme/eval.sld b/scheme/eval.sld index bd7deab7..053336e4 100644 --- a/scheme/eval.sld +++ b/scheme/eval.sld @@ -17,6 +17,7 @@ ;environment eval create-environment ; non-standard + setup-environment ; non-standard ) (begin