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
