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
mapping_fn is of type
value 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
mapping_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(mapping_fn, x), value).
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
mapping_fn pointwise to each
value, or if
value 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.