Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.Profunctor.UniconEncoding
Documentation
Universal container. Any container type with finite maximum length and
finite number of possible shapes can be encoded into Unicon
.
Instances
Foldable Unicon Source # | |
Defined in Data.Profunctor.UniconEncoding Methods fold :: Monoid m => Unicon m -> m # foldMap :: Monoid m => (a -> m) -> Unicon a -> m # foldMap' :: Monoid m => (a -> m) -> Unicon a -> m # foldr :: (a -> b -> b) -> b -> Unicon a -> b # foldr' :: (a -> b -> b) -> b -> Unicon a -> b # foldl :: (b -> a -> b) -> b -> Unicon a -> b # foldl' :: (b -> a -> b) -> b -> Unicon a -> b # foldr1 :: (a -> a -> a) -> Unicon a -> a # foldl1 :: (a -> a -> a) -> Unicon a -> a # elem :: Eq a => a -> Unicon a -> Bool # maximum :: Ord a => Unicon a -> a # minimum :: Ord a => Unicon a -> a # | |
Eq1 Unicon Source # | |
Ord1 Unicon Source # | |
Defined in Data.Profunctor.UniconEncoding | |
Traversable Unicon Source # | |
Functor Unicon Source # | |
Read a => Read (Unicon a) Source # | |
Show a => Show (Unicon a) Source # | |
Eq a => Eq (Unicon a) Source # | |
Ord a => Ord (Unicon a) Source # | |
Defined in Data.Profunctor.UniconEncoding |
Encoding into Unicon a
with partial decoding function.
Instances
Cartesian (Encoding a) Source # | |
Defined in Data.Profunctor.UniconEncoding Methods proUnit :: Encoding a a0 () Source # proProduct :: (a0 -> (a1, a2)) -> ((b1, b2) -> b) -> Encoding a a1 b1 -> Encoding a a2 b2 -> Encoding a a0 b Source # (***) :: Encoding a a0 b -> Encoding a a' b' -> Encoding a (a0, a') (b, b') Source # (&&&) :: Encoding a a0 b -> Encoding a a0 b' -> Encoding a a0 (b, b') Source # proPower :: forall (n :: Nat) a0 b. KnownNat n => Encoding a a0 b -> Encoding a (Finite n -> a0) (Finite n -> b) Source # | |
Cocartesian (Encoding a) Source # | |
Defined in Data.Profunctor.UniconEncoding Methods proEmpty :: Encoding a Void b Source # proSum :: (a0 -> Either a1 a2) -> (Either b1 b2 -> b) -> Encoding a a1 b1 -> Encoding a a2 b2 -> Encoding a a0 b Source # (+++) :: Encoding a a0 b -> Encoding a a' b' -> Encoding a (Either a0 a') (Either b b') Source # (|||) :: Encoding a a0 b -> Encoding a a' b -> Encoding a (Either a0 a') b Source # proTimes :: forall (n :: Nat) a0 b. KnownNat n => Encoding a a0 b -> Encoding a (Finite n, a0) (Finite n, b) Source # | |
Profunctor (Encoding a) Source # | |
Defined in Data.Profunctor.UniconEncoding Methods dimap :: (a0 -> b) -> (c -> d) -> Encoding a b c -> Encoding a a0 d # lmap :: (a0 -> b) -> Encoding a b c -> Encoding a a0 c # rmap :: (b -> c) -> Encoding a a0 b -> Encoding a a0 c # (#.) :: forall a0 b c q. Coercible c b => q b c -> Encoding a a0 b -> Encoding a a0 c # (.#) :: forall a0 b c q. Coercible b a0 => Encoding a b c -> q a0 b -> Encoding a a0 c # | |
Functor (Encoding a s) Source # | |