[jhc] Re: Substitutions.

Lemmih lemmih at gmail.com
Sat Feb 23 18:45:55 EST 2008

On Sun, Feb 24, 2008 at 12:19 AM, John Meacham <john at repetae.net> 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.

Excellent, exactly what I needed to fix my test case.


More information about the jhc mailing list