On Sep 17, 2009, at 12:23 AM, Abdulaziz Ghuloum wrote:

> Ikarus does this pretty much (which some would consider broken, so,
> spare me!).  There is only two minor things it does differently:
>
> 1. If *user input here* contains a reference to an unbound variable
> (in any outer scope), it does what amounts to injecting a dummy
> definition to that variable giving it some #<unbound> value.
>
> 2. If *user input here* contains a new definition of a variable
> that was previously defined in the repl, the definition is turned
> into a set!.

Just to mention that I'm not entirely attached to this.  For me,
it's also reasonable to signal an error when reference to an
undefined identifier is found.  That would require that people
write recursive procedures "together", or wrapped in a begin,
instead of being able to type them sequentially.  Signaling an
error also gives more predictable behavior that's consistent
with R6RS programs (e.g., one may think of every chunk entered
into the repl as an R6RS top-level program that imports everything
from the repl environment and exports everything back), at the
expense of pissing more people off :-).

Aziz,,,

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to