-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Lists with statically known length based on non-empty package. -- @package fixed-length @version 0.0 module Data.FixedLength class list ~ List (Position list) => C list where type family Position list :: * type family List position :: * -> * switch :: C list => f T -> (forall list0. C list0 => f (T list0)) -> f list newtype Wrap list a Wrap :: list a -> Wrap list a unwrap :: Wrap list a -> list a newtype WrapPos list WrapPos :: Position list -> WrapPos list unwrapPos :: WrapPos list -> Position list data Zero data Succ pos Stop :: Succ pos Succ :: pos -> Succ pos map :: C list => (a -> b) -> list a -> list b zipWith :: C list => (a -> b -> c) -> list a -> list b -> list c sequenceA :: (Applicative f, C list) => list (f a) -> f (list a) repeat :: C list => a -> list a index :: C list => WrapPos list -> list a -> a update :: C list => (a -> a) -> WrapPos list -> list a -> list a indices :: C list => list (WrapPos list) numFromPos :: C list => WrapPos list -> Word type N0 = T type N1 = GE1 T type N2 = GE2 T type N3 = GE3 T type N4 = GE4 T type N5 = GE5 T type N6 = GE6 T type N7 = GE7 T type N8 = GE8 T type GE1 list = T list type GE2 list = T (GE1 list) type GE3 list = T (GE2 list) type GE4 list = T (GE3 list) type GE5 list = T (GE4 list) type GE6 list = T (GE5 list) type GE7 list = T (GE6 list) type GE8 list = T (GE7 list) i0 :: WrapPos (GE1 list) i1 :: WrapPos (GE2 list) i2 :: WrapPos (GE3 list) i3 :: WrapPos (GE4 list) i4 :: WrapPos (GE5 list) i5 :: WrapPos (GE6 list) i6 :: WrapPos (GE7 list) i7 :: WrapPos (GE8 list) (!:) :: a -> f a -> T f a end :: T a instance Eq pos => Eq (Succ pos) instance Ord pos => Ord (Succ pos) instance Show pos => Show (Succ pos) instance C list => Ord (WrapPos list) instance C list => Eq (WrapPos list) instance Ord Zero instance Eq Zero instance C list => Applicative (Wrap list) instance C list => Traversable (Wrap list) instance C list => Foldable (Wrap list) instance C list => Functor (Wrap list) instance C list => C (T list) instance C T