Maps a TFF sequence
value pointwise using a given function
Used in the notebooks
This function supports two modes of usage:
When applied to a non-federated sequence, it maps individual elements of
the sequence pointwise. If the supplied
fn is of type
arg is of type
T* (a sequence of
the result is a sequence of type
U* (a sequence of
with each element of the input sequence individually mapped by
In this mode of usage,
sequence_map behaves like a compuatation with type
<T->U,T*> -> U*.
When applied to a federated sequence,
sequence_map behaves as if it were
individually applied to each member constituent. In this mode of usage, one
can think of
sequence_map as a specialized variant of
is designed to work with sequences and allows one to
fn that operates at the level of individual elements.
Indeed, under the hood, when
sequence_map is invoked on a federated type,
emitting expressions like
federated_map(a -> sequence_map(fn, x), arg).
A mapping function to apply pointwise to elements of
A value of a TFF type that is either a sequence, or a federated
A sequence with the result of applying
fn pointwise to each
arg, or if
arg was federated, a federated sequence
with the result of invoking
sequence_map on member sequences locally
and independently at each location.
If the arguments are not of the appropriate types.