Re: [Scheme-reports] REPL Helmut Eller (14 Nov 2012 08:51 UTC)
Re: [Scheme-reports] REPL Alex Shinn (14 Nov 2012 09:07 UTC)
Re: [Scheme-reports] REPL Helmut Eller (14 Nov 2012 09:13 UTC)
Re: [Scheme-reports] REPL Alex Shinn (14 Nov 2012 09:26 UTC)
Re: [Scheme-reports] REPL Helmut Eller (14 Nov 2012 10:22 UTC)
Re: [Scheme-reports] REPL Marc Feeley (14 Nov 2012 21:06 UTC)
Re: [Scheme-reports] REPL John Cowan (14 Nov 2012 21:26 UTC)
Re: [Scheme-reports] REPL Marc Feeley (14 Nov 2012 22:05 UTC)
Re: [Scheme-reports] REPL Alex Shinn (14 Nov 2012 23:46 UTC)
[Scheme-reports] equal? Alan Watson (15 Nov 2012 00:40 UTC)
Re: [Scheme-reports] equal? John Cowan (15 Nov 2012 16:26 UTC)
Re: [Scheme-reports] equal? Alan Watson (15 Nov 2012 16:35 UTC)
Re: equal? Arthur A. Gleckler (17 Nov 2012 20:32 UTC)
Re: [Scheme-reports] REPL John Cowan (15 Nov 2012 16:23 UTC)
Re: [Scheme-reports] REPL Aaron W. Hsu (15 Nov 2012 23:47 UTC)
Re: [Scheme-reports] REPL Shiro Kawai (16 Nov 2012 01:16 UTC)
Re: [Scheme-reports] REPL Per Bothner (14 Nov 2012 21:37 UTC)
Re: [Scheme-reports] REPL Marc Feeley (14 Nov 2012 21:49 UTC)
Re: [Scheme-reports] REPL Andy Wingo (04 Jan 2013 13:02 UTC)
Re: [Scheme-reports] REPL John Cowan (04 Jan 2013 15:42 UTC)
Re: [Scheme-reports] REPL Alaric Snell-Pym (04 Jan 2013 16:30 UTC)
Re: [Scheme-reports] REPL Helmut Eller (15 Nov 2012 07:44 UTC)
Re: [Scheme-reports] REPL John Cowan (15 Nov 2012 16:04 UTC)
Re: [Scheme-reports] REPL Per Bothner (15 Nov 2012 16:17 UTC)

Re: [Scheme-reports] REPL Marc Feeley 14 Nov 2012 21:01 UTC

Le 2012-11-14 à 5:18 AM, Helmut Eller <eller.helmut@gmail.com> a écrit :

> On Wed, Nov 14 2012, Alex Shinn wrote:
>
>>    Then why can you say that a REPL "should" support redefinition?
>>    (Without defining what redefinition means.)
>>
>> This refers to redefining variables and syntax in general.
>>
>> For the specific case of redefining record types we could
>> add a note that existing instances may or may not be
>> mapped to the new type according to some unspecified
>> semantics, but I'm not sure if such a note adds anything.
>
> Just figured out that neither include nor load can be used to
> define/redefine libraries.  So libraries are immutable and there is no
> portable way to "add" new libraries, right?
>
> Helmut

Let me say that I find it contrary to the spririt of Scheme to prevent redefinition and assignment of exported variables.  It is something Schemers do all the time.  Of course there is the usual argument that this restriction is in place to allow efficient compilation, allowing, among other things, inlining of exported functions.  This argument seems to ignore the fact that good JIT compilers (such as V8 for JavaScript) are perfectly able to speculatively inline functions bound to mutable variables.  It takes a cleverer compiler, but it does not prevent function inlining.  So it seems that preventing this useful feature (function redefinition at the REPL, or by a "load" or "eval") is simply there to make the Scheme implementer's life easier.  That's the wrong thing to optimize... if implementation difficulty is a concern we will soon get rid of continuations, the REPL, and maybe closures and garbage collection.

I find this design choice unacceptable and a show stopper for me.

Marc

_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports