> There is an important subclass of procedure, that we might as
> well call "stand-alone", that have a simple property. Stand-alone
> procedures are defined using a restricted set of variables. They
> are allowed to refer to EITHER
> (1) global variables [strictly speaking this should be
> other procedures which are stand-alone.]
> OR
> (2) variables declared inside the procedure.
These are of course the variables that C handles.
Strictly speaking, in the lambda calculus, global variables are free,
so that a super-combinator can only have constructors and primitives. Any
user-defined functions have to be passed in as arguments.
Robin.
|