[CM] R7RS support

mike at eggheadgames.com mike at eggheadgames.com
Tue Jan 25 15:14:05 PST 2022

> does any other scheme treat the names that way?

Chibi’s module handling is similar to Guile:
> modules are searched for in a module load path. The definition of the 
> module (foo bar baz) is searched for in the file "foo/bar/baz.sld".

Chicken does not construct a path (but I didn’t delve into their 
module system, and the rsr7 mapping to it, to understand what it does 
>  Some implementations treat library name components as filesystem 
> paths and attempt to load the library (foo bar baz) from the file 
> "foo/bar/baz.scm", for example. This [r7rs] egg does not.

Chez is similar to Guile and Chibi:
> A library to be loaded implicitly via import must reside in a file 
> whose name reflects the name of the library. For example, if the 
> library's name is (tools sorting), the base name of the file must be 
> sorting with a valid extension, and the file must be in a directory 
> named tools which itself resides in one of the directories searched by 
> import.

Happy to look at others if it would help guide this. Thanks as ever for 
your continued fast responses!

Cheers, Michael

On 26 Jan 2022, at 3:31, bil at ccrma.Stanford.EDU wrote:

> On the guile library filename handling, does any other scheme
> treat the names that way?  I have added the rest of the built-in
> libaries to r7rs.scm: eval, process-context, case-lambda, lazy,
> load, and repl.  s7 ignores these import statements.
> (display "hi" (current-error-port))
> works for me.  It is the same as (display "hi" *stderr*); since
> there is no buffering in this case, the flush-output-port has
> no effect, unless someone has redirected stderr.
> _______________________________________________
> Cmdist mailing list
> Cmdist at ccrma.stanford.edu
> https://cm-mail.stanford.edu/mailman/listinfo/cmdist

More information about the Cmdist mailing list