Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Weave.Strict
Description
Strict weaves are the naive implementation of the idea "what if we generalized zip
to free monads?"
The resulting breadth-first unfold take quadratic time, which is slow.
The main reason for making this available is to compare it with the other variants.
Documentation
data Weave (m :: Type -> Type) a where Source #
Strict weaves.
The Applicative
operation (
combines weaves level-wise.liftA2
)
Constructors
Pure :: forall a (m :: Type -> Type). a -> Weave m a | |
Weft :: forall (m :: Type -> Type) a. m (Weave m a) -> Weave m a |
Instances
Applicative m => Applicative (Weave m) Source # | |
Functor m => Functor (Weave m) Source # | |