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
