[jhc] Re: Substitutions.

John Meacham john at repetae.net
Sat Feb 23 18:19:14 EST 2008


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.

        John

-- 
John Meacham - ⑆repetae.net⑆john⑈


More information about the jhc mailing list