guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ANN: first draft of R7RS small language available


From: Noah Lavine
Subject: Re: ANN: first draft of R7RS small language available
Date: Fri, 15 Apr 2011 22:16:27 -0400

> Most importantly, we have added modules, allowing programmers to
> share portable libraries with ease.  We hope implementors
> consider the effort of supporting the new standard small compared
> to that important benefit.  Keep in mind that nothing is
> finalized yet, and at this stage we are seeking constructive
> feedback.

Congratulations! This is a great step forward for Scheme, especially
the module system.

I am unsure what forum you would like feedback in, so hope here will work well.

There were only two things that struck me as odd - first, the (scheme
process-context) module is quite dependent on a certain model of
executing processes that might not be true everywhere. It would seem
better to me if that were optional, so implementations could provide
it if it made sense and not otherwise. (For instance, embedded Schemes
might have no environment or command-line arguments. Scheme programs
run from a GUI might have an environment but no command-line
arguments.)

Second, the module form requires everything in a module to be inside
the s-expression defining the module, which seems non-ideal for people
who have to keep track of their nesting level. (Of course a good
editor will handle this for you, but it seems backwards to design a
programming language assuming that an editor will make it easier to
use.) This is unavoidable at a repl, but I think there should be a
facility for modules defined in files to have an s-expression at the
top defining the module which would be closed before the body of the
module. Perhaps if the first s-expression in a file is a module, then
the rest of the file could be an implicit (begin ...) form in the
module definition.

Thanks for all of your work on this
Noah Lavine



reply via email to

[Prev in Thread] Current Thread [Next in Thread]