Wow, just tripped over my own code in support of filters, aka synapses. I think I have to make a change.<br><br>I manage to eliminate Synapses as distinct objects by /always/ interpreting the second of possibly multiple returned values as a "propagate?" indicator. I thought this would be OK since a slot can hold only one value. But!
<br><br>   (c? (floor (^length) 2))<br><br>...ends up feeding the "propagate?" interpretation, so it turned we all have been getting unnecessary propagation where we innocently returned multiple values and the second was non-nil.
<br><br>My proposed solution is to make the kludge even worse. :) A cell acting in the role of a synapse/filter will have to return 'cells::propagate-yes, 'cell::propagate-no, or (I think there was a third value). Only those will be meaningful. Anything else gets thrown away.
<br><br>Thoughts? Alternatives?<br><br>kt<br>