|
From: | Marcus G. Daniels |
Subject: | Re: [Swarm-Support] Followup: found work-aroundfor missing~/swarmarchiver.scm too |
Date: | Sun, 20 Aug 2006 20:11:03 -0600 |
User-agent: | Thunderbird 1.5.0.5 (X11/20060808) |
Bill Northcott wrote:
The existing way, before Marcus' recent change, of having some compile time option for the library behaviour seems to be appropriate, but even that should be documented.
It's just a matter of putting a: id nil_method (id obj, SEL sel) { return nil; }..into a Swarm app.. if for some reason you wanted to remain ignorant of messages to nil.
I've helped to debug many Swarm models, and usually when people send a message to nil, it's because they forgot to fully implement buildObjects. Thus when messages to nil are tolerated, some part of their model is just off, and they may not realize it until they've run a bunch of experiments only to find their time has been wasted.
Having an abort for this behavior may defy expectations of some Objective C programmers, but at least it will be clear it is defiance. These folks, being savvy Objective C programmers, will know the nil_method override trick. Swarm also does Java, and so here the underlying Objective C code is just a means to an end. Java users will expect null pointer exceptions.
[Prev in Thread] | Current Thread | [Next in Thread] |