-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Lists with statically known length based on non-empty package.
--
-- This packages defines a list data type with statically known length by
-- nesting the NonEmpty and Empty data structure from the non-empty
-- package. We provide a closed world class for this class of structures
-- http://www.haskell.org/haskellwiki/Closed_world_instances and a
-- wrapper that makes all these lists Traversable and
-- Applicative with ZipList semantics.
--
-- Similar packages:
--
--
-- - fixed-list: Defines an open world class.
--
@package fixed-length
@version 0.2
module Data.FixedLength
data T n a
data Index n
data Zero
data Succ pos
Stop :: Succ pos
Succ :: pos -> Succ pos
toList :: (Natural n) => T n a -> [a]
showsPrec :: (Natural n, Show a) => Int -> T n a -> ShowS
map :: Natural n => (a -> b) -> T n a -> T n b
zipWith :: Natural n => (a -> b -> c) -> T n a -> T n b -> T n c
sequenceA :: (Applicative f, Natural n) => T n (f a) -> f (T n a)
repeat :: Natural n => a -> T n a
index :: Natural n => Index n -> T n a -> a
update :: Natural n => (a -> a) -> Index n -> T n a -> T n a
indices :: Natural n => T n (Index n)
indicesInt :: Natural n => T n Int
numFromIndex :: Natural n => Index n -> Word
type GE1 n = Succ n
type GE2 n = Succ (GE1 n)
type GE3 n = Succ (GE2 n)
type GE4 n = Succ (GE3 n)
type GE5 n = Succ (GE4 n)
type GE6 n = Succ (GE5 n)
type GE7 n = Succ (GE6 n)
type GE8 n = Succ (GE7 n)
i0 :: Index (GE1 n)
i1 :: Index (GE2 n)
i2 :: Index (GE3 n)
i3 :: Index (GE4 n)
i4 :: Index (GE5 n)
i5 :: Index (GE6 n)
i6 :: Index (GE7 n)
i7 :: Index (GE8 n)
fromFixedList :: List n a -> T n a
toFixedList :: T n a -> List n a
(!:) :: a -> T n a -> T (Succ n) a
end :: T Zero a
singleton :: a -> T U1 a
viewL :: T (Succ n) a -> (a, T n a)
switchL :: (a -> T n a -> b) -> (T (Succ n) a -> b)
head :: (Positive n) => T n a -> a
tail :: T (Succ n) a -> T n a
switchEnd :: b -> T Zero a -> b
uncurry :: (Natural n) => Curried n a b -> T n a -> b
minimum :: (Positive n, Ord a) => T n a -> a
maximum :: (Positive n, Ord a) => T n a -> a
instance GHC.Show.Show pos => GHC.Show.Show (Data.FixedLength.Succ pos)
instance GHC.Classes.Ord pos => GHC.Classes.Ord (Data.FixedLength.Succ pos)
instance GHC.Classes.Eq pos => GHC.Classes.Eq (Data.FixedLength.Succ pos)
instance (Type.Data.Num.Unary.Natural n, GHC.Classes.Eq a) => GHC.Classes.Eq (Data.FixedLength.T n a)
instance (Type.Data.Num.Unary.Natural n, GHC.Show.Show a) => GHC.Show.Show (Data.FixedLength.T n a)
instance Type.Data.Num.Unary.Natural n => GHC.Base.Functor (Data.FixedLength.T n)
instance Type.Data.Num.Unary.Natural n => Data.Foldable.Foldable (Data.FixedLength.T n)
instance Type.Data.Num.Unary.Natural n => Data.Traversable.Traversable (Data.FixedLength.T n)
instance Type.Data.Num.Unary.Natural n => GHC.Base.Applicative (Data.FixedLength.T n)
instance GHC.Classes.Eq Data.FixedLength.Zero
instance GHC.Classes.Ord Data.FixedLength.Zero
instance Type.Data.Num.Unary.Natural n => GHC.Classes.Eq (Data.FixedLength.Index n)
instance Type.Data.Num.Unary.Natural n => GHC.Classes.Ord (Data.FixedLength.Index n)