Safe Haskell | None |
---|---|
Language | Haskell2010 |
Proarrow.Category.Instance.List
Synopsis
- data LIST k = L [k]
- data List (as :: LIST k) (bs :: LIST k) where
- mkCons :: forall k (a :: k) (b :: k) (as :: [k]) (bs :: [k]). CategoryOf k => (a ~> b) -> ('L as ~> 'L bs) -> 'L (a ': as) ~> 'L (b ': bs)
- class ((as ++ bs) ++ cs) ~ (as ++ (bs ++ cs)) => Assoc (as :: [k]) (bs :: [k]) (cs :: [k])
- class (as ~ (as ++ ('[] :: [k])), forall (bs :: [k]) (cs :: [k]). Assoc as bs cs) => IsList (as :: [k]) where
Documentation
Constructors
L [k] |
Instances
data List (as :: LIST k) (bs :: LIST k) where Source Comments #
The free monoid in CAT
Constructors
Nil :: forall {k}. List ('L ('[] :: [k])) ('L ('[] :: [k])) | |
Cons :: forall {k} (as1 :: [k]) (bs1 :: [k]) (a :: k) (b :: k). (IsList as1, IsList bs1) => (a ~> b) -> List ('L as1) ('L bs1) -> List ('L (a ': as1)) ('L (b ': bs1)) |
mkCons :: forall k (a :: k) (b :: k) (as :: [k]) (bs :: [k]). CategoryOf k => (a ~> b) -> ('L as ~> 'L bs) -> 'L (a ': as) ~> 'L (b ': bs) Source Comments #
class ((as ++ bs) ++ cs) ~ (as ++ (bs ++ cs)) => Assoc (as :: [k]) (bs :: [k]) (cs :: [k]) Source Comments #
class (as ~ (as ++ ('[] :: [k])), forall (bs :: [k]) (cs :: [k]). Assoc as bs cs) => IsList (as :: [k]) where Source Comments #
Methods
listId :: List ('L as) ('L as) Source Comments #
withIsList2 :: forall (bs :: [k]) r. IsList bs => (IsList (as ++ bs) => r) -> r Source Comments #