[e-lang] [Caja] Functional auditor for Cajita

ihab.awad at gmail.com ihab.awad at gmail.com
Tue Dec 8 08:30:52 PST 2009


On Mon, Dec 7, 2009 at 10:56 PM, Mike Samuel <mikesamuel at gmail.com> wrote:
> Some values that are not representable in JSON but that are
> probably functional: NaN, +/-Infinity, undefined, Dates.

Good point. These too then. :)

> So functional code can't call functions, but can pass function
> objects around?

That's not what I meant - see below.

> What is the definition of functional?  That evaluating it has no
> side effect?

No side effect except on the arguments supplied.

> Functions capture the lexical environment in which they're defined and
> capture "this", so it's not pure, as the "purely" in "purely
> functional" above might suggest.

Right, so that's where the compiler would step in and conservatively
annotate certain functions as having no side effects on their lexical
environment.

But it seems this sparked a lot of discussions so off I go to read.... :)

Ihab

-- 
Ihab A.B. Awad, Palo Alto, CA


More information about the e-lang mailing list