[Larceny-users] incremental development in ERR5RS/larceny

Jose A. Ortega Ruiz jao at gnu.org
Sat Mar 14 23:30:30 EDT 2009


The way i like to hack in Lisp is by incrementally (re)define my
programs using a REPL. In implementations i use providing some form of
namespace or module facility (such as CL, Guile or s48), i'm able to
evolve interactively my programs by evaluating forms in environments
circumscribed to a given namespace/module. I'm sure you're all familiar
with this kind of thing.

Now, i'm wondering to what extent such an interactive way of hacking is
possible in ERR5RS and, in particular, its Larceny incarnation (R6RS
being out of the question since it ditchs the REPL). If i'm
understanding things correctly, the ERR5RS "equivalent" of, say, a CL
package would be an R6RS-style library. What i would like is to be able
to eval or re-eval a library A's body forms individually, so that other
libraries using A would use the new definition automatically. But that
doesn't make sense for libraries, since their evaluation semantics are
defined as a whole, and they must be reloaded as a whole when modified,
right?

So, if i'm getting this right, the closer i can get in Larceny to my
ideal world is re-compiling and re-loading the library at hand (and all
the libraries that import it) everytime i modify any form in its body or
import/export specifications. And it actually makes no sense to think
about evaluating expressions in a library's namespace (as you would do
for instance in s48 with ,in, or in CL after an in-package form).

Is that a true or, on the contrary, there's a way to use Larceny in the
incremental fashion i covet?

Cheers,
jao




More information about the Larceny-users mailing list