From 25750ee505bd976d3c606200fec7253ad40c46d9 Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Mon, 1 Aug 2022 19:37:49 -0700 Subject: Remove mutable globals. Per a closer reading of R7RS, it's an error to mutate an imported binding with set!. My apologies to Guile when I said they had a bug. --- lib/csc/compiler.csc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lib/csc/compiler.csc') diff --git a/lib/csc/compiler.csc b/lib/csc/compiler.csc index 20d5d37..7054f10 100644 --- a/lib/csc/compiler.csc +++ b/lib/csc/compiler.csc @@ -1,6 +1,6 @@ (define-library (csc compiler) (export - *library-search-dirs* + add-library-search-dirs compile) (import (scheme base) (only (scheme file) @@ -88,6 +88,10 @@ (define *library-search-dirs* '()) + (define (add-library-search-dirs ds) + (set! *library-search-dirs* (append *library-search-dirs* ds))) + + (define (find-library name) (define library-roots (cons *standard-library-dir* *library-search-dirs*)) (loop for dir in library-roots -- cgit v1.3.1