- spec-generic StreamConnection translators, for simple TCP API
- `when` -> `on`, better use for event-expanders
- Removal of special processing of `at`, making `this-target` properly lexically scopeable
- TcpListenError and handling of tcp-listen errors
- SYNDICATE_COLUMNS for pretty-printing of dataspace traces
- Repair driver-support.rkt thread shutdown turn-taking
- Refinements to stream protocols and implementation
- Improvements to syntax location preservation in syntax.rkt
The `add-endpoint!` call is changed in two ways:
- the old `assertion-fn` has become `update-fn`, yielding both
an assertion *and* an optional handler, because if the handler
depends on a field which changes, previously the handler wasn't
being updated
- a new parameter, `dynamic?`, can be set to #f (it's usually #t)
to ensure that the assertion and skeleton-interest are calculated
only once ever, and are not connected to the dataflow machinery.
The first change makes it possible for the `(later-than (deadline))`
pattern, where `deadline` is a field, to work; the second change makes
`during` and `during/spawn` work correctly in the face of field
updates.