On Sep 9, 2009, at 9:56 PM, Eduardo Cavazos wrote:

Hello,

You can change what module "you're in" with the Guile REPL and this is reflected at the prompt.

What would this mean in an R6RS context?

This can mean one of many possible things. The two most obvious answers are:

1. Start a repl in an environment that's the result of importing (foo).
2. Start a repl in the environment after the definitions inside the library (foo).

Both of these are already possible and were discussed here some time ago.

My guess is that if the repl is in a certain library and you enter a definition which clobbers an old one, this should be treated as if you edited the library source;

That's just one possibility. Another is that new definitions are new definitions (just like how the current Ikarus repl behaves). Another is that the new definition overwrites the existing definition outside the library but not inside it (by treating the library's local variable definition as separate from but initially equal to the exported variable). There are other possibilities of course.

a dynamic implementation would recompile the library,

Why would that be absolutely necessary? Or did you mean reload the library when you said recompile the library?

then recompile any currently loaded dependent libraries (and in a *really* dynamic environment, update any currently running threads/ applications which depend on the changed library).

If you're going this far, you might as well start a new ikarus instance, no?

Are any R6RS implementations exploring this territory?

I think PLT's "enter!" does that, though I don't know if it works with R6RS libraries. Try it and see if it's what you want.

Aziz,,,

Reply via email to