[cells-devel] Next Steps
Kenny Tilton
ktilton at nyc.rr.com
Mon May 9 17:02:33 UTC 2005
rpgoldman at real-time.com wrote:
>>>>>>"KT" == Kenny Tilton <ktilton at nyc.rr.com> writes:
>>>>>>
>>>>>>
>
> KT> Thomas F. Burdick wrote:
>
> >> Kenny Tilton writes:
> >>
> >> > (b) eliminate the check for looping in which one setf of a cell leads
> >> > back to setf of the same cell (the scroll bar scenario). I will leave
> >> > the code behind in case I decide to simply enhance cycle detection as
> >> > opposed to wiping it out entirely.
> >>
> >> I think The Right Thing is to allow looping by default, assuming that
> >> the programmer knows what they're doing,
> >>
> KT> done.
>
> >> and to be able to optionally
> >> declare a certain cell to be non-cyclic
> >>
> KT> for debugging? ie, How are non-cyclic cells to be handled?
>
>Perhaps I'm missing something, but I would have thought that cyclic
>cells would have been the unusual case, and the one you want to trap
>by default. I.e., it would make more sense to default to acyclic, and
>then allow users to explicitly declare cycles.
>
Actually, that is the way it has been for ages, and the change just made
was to flip the direction of that choice.
Cells now effortlessly run on propagating if the user chooses to set
things up that way. And I think that is actually a natural way to
program in what we might call a causation paradigm of programming. For
now you are right, it is the exception, but I have also been looking at
solving certain problems with more of this. But that is not the main
issue here.
The fact is, detecting cycles takes extra (Cells internal) code and
extra runtime effort, including maintaining a list of "causers" in a
given data pulse so as to detect cycles. (Propagation no longer takes
place in a call stack, so there is no clear place to set/clear a flag
indicating causation is underway.)
The interesting question is not the default value for the cyclicp
parameter, should it return to Cells; anyone can override the group
choice with their own macros. The question now is simply whether and how
to allow the user special syntax by which to control cycling.
kt
More information about the cells-devel
mailing list