def observed_read

bendvy-ecs-core@0.1.0.4 · event_publication.bend:59

import bendvy-ecs-core@0.1.0.4/event_publication.bend as EventPublication
import Base
import event_runtime.bend as Ev
import event_stream.bend as Leaf

59# Arbitrary finite products can use this same closed selection operation. The
60# generated take/put retain every other leaf and arbitrary affine owner H.
61def observed_read(~S:Data,~E:Data,~F:Type,~put:F -> Leaf.Stream<S,E> -> F,family:F,returned:Leaf.Stream<S,E> & Ev.Reading<E>) -> F & Ev.Reading<E>:
62  match returned:
63    case (stream,reading):(put(family,stream),reading)

Uses (4)

Used by (1)