Whoa, that was easy. Synapses are now just like any other rule-based cell. This was achieved by giving all such cells some new expressiveness: the rule for a cell is now understood to return two values. the second can be :propagate, :no-propagate, or nil, with these semantics:
- nil Use EQL or slot unchanged test if specified to test if new and old values are different. (Old behavior.)
- :propagate Tell all users to recalculate regardless of the new value.
- :no-propagate Do not propagate, regardless of the new value.
Not exactly sure how normal ruled cells will benefit from the new capability, but I suspect they will. (I also expect the nature of this new capability to get a lot of refinement as it gets put to use, so forward requests/complaints freely.)
kt