|[6 earlier articles]|
|Re: incremental compilation via shared library firstname.lastname@example.org (pop) (1993-09-07)|
|Re: incremental compilation via shared library email@example.com (1993-09-11)|
|Re: incremental compilation via shared library firstname.lastname@example.org (1993-09-20)|
|Re: incremental compilation via shared library email@example.com (1993-09-20)|
|Re: incremental compilation via shared library firstname.lastname@example.org (1993-09-21)|
|Re: incremental compilation via shared library email@example.com (1993-09-22)|
|Re: incremental compilation via shared library firstname.lastname@example.org (Graham Matthews) (1993-09-22)|
|From:||Graham Matthews <email@example.com>|
|Keywords:||design, OOP, Lisp|
|Organization:||Department of Computer Science, Edinburgh University|
|Date:||Wed, 22 Sep 1993 10:39:23 GMT|
pop <firstname.lastname@example.org> writes:
> The SML compilers are a compromise which is not too happy, in my opinion.
> Consider the sequence:
> fun fred x = 34;
> fun joe x = fred x + 45;
> fun fred x = 45;
> Now in POP-11 or LISP, the redefinition of -fred- would be reflected in the
> meaning of -joe-. But not in SML, which takes the no-doubt-rigorous view
> that the meaning of -fred- in -joe- is what it was when joe was compiled.
Personally I like the SML semantics and wouldn't have it any other way.
Having said that I think I think you are confusing two things here, namely
the notions of (re)binding (of a value to an identifier) and re-definition
of a value. To me these are not the same thing. Rebinding of an identifier
to a value is just binding where the identifier name happens to be the
same as the name of an existing identifier. Re-definition of a value is to
me an environment level thing where you are saying that "oops I made a
mistake in the definition of some value, and I want to change it". It has
nothing to do with the binding semantics of the language at all.
Return to the
Search the comp.compilers archives again.