Basis of Design
Scope
You would think that static scope — also known as lexical scope — is provided by the language as its internal. But no, it can be implemented with user-level API. <lambda-environment>, a subclass of <environment>, implements static scope for <lambda>s.
Functor Protocol
Call operator () can be overloaded in Metaphor like Python (__call__) and C++ (operator ()). Functor is an abbreviation of function object that is an abbreviation of function-like object again. For example, classes are not a function but callable to instantiate.
changed July 1, 2010