On Sun, 2009-09-06 at 13:38 -0700, Joe Marshall wrote:

> No.  The reason I oppose first-class environments is not *directly*
> because of efficiency and performance.
> 
> I want to be able to reason about my code statically (that is,
> without running it).  When I write lexical scoped code, I want
> to statically know what binding any particular reference refers to.
> First-class environments allow you to dynamically change the
> binding structure by inserting bindings where none existed before.

(a) When you write *your* code, avoid capturing environments
and then you are all set.

(b) It is not a foregone conclusion that f.c.e. means
arbitrary changes to binding contours.


> The reason the compiler cannot compile the code is because the
> code cannot be statically reasoned about.  If the *compiler* can't
> reason about the code, a human has no hope.

That's a load of crap, if you will please pardon the 
expression.   A compiler can reason thusly:  "Ah, I see
that this has to be left to the run-time interpreter because
there is no optimized static representation of this code."

A human can reason principally by constructive induction
for many useful programs.

A JIT compiler can come closer to what humans are capable
of.

-t



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

Reply via email to