Portability | non-portable (TF,GNTD) |
---|---|
Stability | experimental |
Maintainer | hans@hanshoglund.se |
Safe Haskell | None |
Warning This module is experimental.
Bound type
Bound
restricts the start and stop time of a value, and prevents access to values
outside the bounds.
Bound
is especially useful to restrict the range of a Behavior
. If we have a
value with can only be reasonably defined for a particular time range, we can
represent it as Bound
Behavior
. This is isomorphic to a Note
Segment
, and
bounded
whitnesses the isomorphism.
Bound
is not Foldable
or Traversable
, as that would allow us to access values
outside the bounds. However, we can still access values of a Bound
Behavior
in a
safe manner using trim
or splice
.
Functor Bound | |
Typeable1 Bound | |
Eq a => Eq (Bound a) | |
Show a => Show (Bound a) | |
Semigroup a => Semigroup (Bound a) | |
Wrapped (Bound a) | Unsafe: Do not use |
Transformable a => Transformable (Bound a) |
|
(HasPosition a, HasDuration a) => HasDuration (Bound a) | |
HasPosition a => HasPosition (Bound a) | |
(HasPosition a, Splittable a) => Splittable (Bound a) | |
Reversible a => Reversible (Bound a) | |
Rewrapped (Bound a) (Bound b) |