[cells-devel] Not a test -- don't ignore (Hi, Marco!)

Ken Tilton kennytilton at optonline.net
Wed May 7 06:25:06 UTC 2008


I just added a simplistic new namespace mechanism to Cells that probably 
will need refinement, but will certainly work for its simplistic design 
goals:

If your sougth (formerly by fm-other) stuff will Just Be There during a 
datapulse, and be named uniquely and absolutely (no path relative stuff 
where two things have the same name but are differentiated by being 
nearer (in some sense) to the seeker) then you can just look them up by 
name.

This arose because I got into a cycle seeking X from Y. I quickly saw 
that Cells could trivially support "if this cycles return X (in this 
case nil works)" -- and tho I did not go for it for this time I expect 
Cells to go there soon -- but then next I saw the problem only arose 
because I had gotten lazy and structured things unusually such that a 
namespace search had gone so high..well, it's complicated, but I saw 
that unlazying my code would probably eliminate the cycle, but one 
Design Principle of Cells is "Hey, this is supposed to make programming 
easier, that does not happen if I have to sweat these things I would 
naturally code." and I have been regularly solving these things by 
unlazying my code but damnit Lisp is all about being lazy so I thought 
let's see if there is something still sensible that lets me keep my lazy 
structuring. And of course the bizarritude of fm-other and its ilk 
begged to be challenged, because they blindly sail all over the 
hierarchy looking for things and this invites cycles because rules 
determing the populations of models may well kick off these searches -- 
hello cycle!

And that was what was happening here so if I could find things without 
blindly traversing the hierarchy life would be good.

Peter Hildebrandt has been working on a more sophisticated alternative 
scheme to namespacing, but I am in Just Ship! mode and I saw that in my 
case I did not need cells-ish dependency -- X and Y came into existence 
during the same datapulse, so a simple registration at make-instance 
time would work fine, and that is what I did.

I think searching the source on "register" will return the unsurprising 
details.

kt



More information about the cells-devel mailing list