[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

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


Ihab A.B. Awad, Palo Alto, CA

More information about the e-lang mailing list