Re: [Caja] Functional auditor for Cajita

[email protected]
Newsgroups gmane.comp.lang.e.general
Message-ID <[email protected]>
On Tue, Dec 8, 2009 at 12:05 PM, David-Sarah Hopwood
<[email protected]> wrote:
> Note that this implies that the lexical environment of each successfully
> created instance is observationally immutable, not just that it can't
> be directly changed by that instance. I.e. it also can't be changed
> indirectly via an operation on an argument ...

D'oww, I missed that one! Yes, thank you.

> The implementation sketch I gave would preclude that use case because
> if the supplied argument values are not copacetic, the object's read()
> method would throw. This might have been too conservative -- if those
> argument checks were omitted then the property above (that the function
> instance can't change its lexical environment) would still hold.

Yes.

> It would be possible to make the argument and result checks optional
> depending on the function annotation: say, /*@pure*/ includes them but
> /*@functional*/ doesn't. (The environment checks would be the same,
> and both /*@pure*/ and /*@functional*/ would mark instances as
> copacetic.)

Yeah I think we're talking about two, possibly both useful classes of
behavior here.

> What a fun discussion! Thanks for starting it.

Glad to oblige. :)

Ihab

-- 
Ihab A.B. Awad, Palo Alto, CA
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.