On 2/23/08, John Meacham <[EMAIL PROTECTED]> wrote: > On Sat, Feb 23, 2008 at 03:54:39PM +0100, Lemmih wrote: > > Actually, it might be wise not to do any optimizations in the > > substitution routine. I assume constant applications are handled > > elsewhere as well? > > The atom invariant insures that beta reduction is a simple source > transformation that does not change the behavior of the program, not an > optimization. > > E normal form number 2 (a name I just made up :) ) says > all arguments must be atomic, all applied things may only be simple > variables or another application, and lambda expressions may only occur > directly on the RHS of a let binding, the body of a let statment, or in > a case branch body. > > normal form 3 (after lambda lifting) says lambda expressions may _only_ > occur at the top level, no where else.
Gee, maybe this should be documented somewhere? _______________________________________________ jhc mailing list [email protected] http://www.haskell.org/mailman/listinfo/jhc
