ContentsIndex
Org.Org.Semantic.HBase.TypeCalc.ListType
Synopsis
type LNil = ()
lNil :: LNil
type LCons = (,)
lCons :: a -> b -> LCons a b
lCar :: LCons a b -> a
lCdr :: LCons a b -> b
type LZero = LNil
lZero :: LZero
type LOne a1 = LCons a1 LNil
lOne :: a1 -> LOne a1
type LTwo a1 a2 = LCons a1 (LOne a2)
lTwo :: a1 -> a2 -> LTwo a1 a2
type LThree a1 a2 a3 = LCons a1 (LTwo a2 a3)
lThree :: a1 -> a2 -> a3 -> LThree a1 a2 a3
type LFour a1 a2 a3 a4 = LCons a1 (LThree a2 a3 a4)
lFour :: a1 -> a2 -> a3 -> a4 -> LFour a1 a2 a3 a4
class ListType a where
listTypeLength :: Type a -> Integer
listLength :: ListType a => a -> Integer
class LispShow a where
lispShow :: a -> String
class Appended short element long | short element -> long, long -> short element where
lastElement :: long -> element
allButLastElement :: long -> short
append :: element -> short -> long
class Concatenated1 a b ab | a b -> ab, a ab -> b where
xconcatenate :: a -> b -> ab
xconcatFirstPiece :: ab -> a
class Concatenated2 a b ab | b ab -> a where
xconcatSecondPiece :: ab -> b
class (Concatenated1 a b ab, Concatenated2 a b ab) => Concatenated a b ab | a b -> ab, a ab -> b, b ab -> a where
lConcatenate :: a -> b -> ab
lConcatFirstPiece :: ab -> a
lConcatSecondPiece :: ab -> b
class (Concatenated LZero a a, Concatenated a LZero a) => StdList a
class (StdList a, Concatenated (LOne e) a (e, a), Concatenated a (LOne e) ae, Appended a e ae) => StdList1 a e ae | a e -> ae
typedConcatFirstPiece :: Concatenated a b ab => (Type a, Type b) -> ab -> a
typedConcatSecondPiece :: Concatenated a b ab => (Type a, Type b) -> ab -> b
typedConcatSplit :: Concatenated a b ab => (Type a, Type b) -> ab -> (a, b)
lConcatSplit :: Concatenated a b ab => ab -> (a, b)
typedSwapPieces :: (Concatenated a b ab, Concatenated b a ba) => (Type a, Type b) -> ab -> ba
class Nth n list elem rest | n list -> elem rest, n elem rest -> list where
lNth :: Type n -> list -> elem
lRest :: Type n -> list -> rest
lInsert :: Type n -> elem -> rest -> list
lFirst :: (first, rest) -> first
lSecond :: Nth One list elem rest => list -> elem
lThird :: Nth Two list elem rest => list -> elem
lFourth :: Nth Three list elem rest => list -> elem
lFifth :: Nth Four list elem rest => list -> elem
lSixth :: Nth Five list elem rest => list -> elem
lSeventh :: Nth Six list elem rest => list -> elem
allButFirst :: (first, rest) -> rest
allButSecond :: Nth One list elem rest => list -> rest
allButThird :: Nth Two list elem rest => list -> rest
allButFourth :: Nth Three list elem rest => list -> rest
allButFifth :: Nth Four list elem rest => list -> rest
allButSixth :: Nth Five list elem rest => list -> rest
allButSeventh :: Nth Six list elem rest => list -> rest
Documentation
type LNil = ()
lNil :: LNil
type LCons = (,)
lCons :: a -> b -> LCons a b
lCar :: LCons a b -> a
lCdr :: LCons a b -> b
type LZero = LNil
lZero :: LZero
type LOne a1 = LCons a1 LNil
lOne :: a1 -> LOne a1
type LTwo a1 a2 = LCons a1 (LOne a2)
lTwo :: a1 -> a2 -> LTwo a1 a2
type LThree a1 a2 a3 = LCons a1 (LTwo a2 a3)
lThree :: a1 -> a2 -> a3 -> LThree a1 a2 a3
type LFour a1 a2 a3 a4 = LCons a1 (LThree a2 a3 a4)
lFour :: a1 -> a2 -> a3 -> a4 -> LFour a1 a2 a3 a4
class ListType a where
Metatype
Methods
listTypeLength :: Type a -> Integer
Instances
ListType LNil
ListType a => ListType (LCons a0 a)
listLength :: ListType a => a -> Integer
class LispShow a where
Show like Lisp
Methods
lispShow :: a -> String
Instances
LispShow LNil
LispShow Char
(LispShow a, LispShow (b, c)) => LispShow (a, (b, c))
LispShow a => LispShow (a, ())
class Appended short element long | short element -> long, long -> short element where
short + [element] = long
Methods
lastElement :: long -> element
allButLastElement :: long -> short
append :: element -> short -> long
Instances
Appended LNil element (LCons element LNil)
Appended sRest element (LCons s1 s) => Appended (LCons s0 sRest) element (LCons s0 (LCons s1 s))
class Concatenated1 a b ab | a b -> ab, a ab -> b where
Methods
xconcatenate :: a -> b -> ab
xconcatFirstPiece :: ab -> a
Instances
Concatenated1 LNil b b
Concatenated1 a b ab => Concatenated1 (LCons a0 a) b (LCons a0 ab)
class Concatenated2 a b ab | b ab -> a where
Methods
xconcatSecondPiece :: ab -> b
Instances
Concatenated2 a LNil a
(Appended bRest last (LCons bHead bTail), Appended abRest last ab, Concatenated2 a bRest abRest) => Concatenated2 a (LCons bHead bTail) ab
class (Concatenated1 a b ab, Concatenated2 a b ab) => Concatenated a b ab | a b -> ab, a ab -> b, b ab -> a where
Methods
lConcatenate :: a -> b -> ab
lConcatFirstPiece :: ab -> a
lConcatSecondPiece :: ab -> b
Instances
(Concatenated1 a b ab, Concatenated2 a b ab) => Concatenated a b ab
class (Concatenated LZero a a, Concatenated a LZero a) => StdList a
Instances
(Concatenated LZero a a, Concatenated a LZero a) => StdList a
class (StdList a, Concatenated (LOne e) a (e, a), Concatenated a (LOne e) ae, Appended a e ae) => StdList1 a e ae | a e -> ae
Instances
(StdList a, Concatenated (LOne e) a (e, a), Concatenated a (LOne e) ae, Appended a e ae) => StdList1 a e ae
typedConcatFirstPiece :: Concatenated a b ab => (Type a, Type b) -> ab -> a
typedConcatSecondPiece :: Concatenated a b ab => (Type a, Type b) -> ab -> b
typedConcatSplit :: Concatenated a b ab => (Type a, Type b) -> ab -> (a, b)
lConcatSplit :: Concatenated a b ab => ab -> (a, b)
typedSwapPieces :: (Concatenated a b ab, Concatenated b a ba) => (Type a, Type b) -> ab -> ba
class Nth n list elem rest | n list -> elem rest, n elem rest -> list where
Methods
lNth :: Type n -> list -> elem
lRest :: Type n -> list -> rest
lInsert :: Type n -> elem -> rest -> list
Instances
Nth Zero (a, list) a list
Nth n list elem rest => Nth (Succ n) (a, list) elem (a, rest)
lFirst :: (first, rest) -> first
lSecond :: Nth One list elem rest => list -> elem
lThird :: Nth Two list elem rest => list -> elem
lFourth :: Nth Three list elem rest => list -> elem
lFifth :: Nth Four list elem rest => list -> elem
lSixth :: Nth Five list elem rest => list -> elem
lSeventh :: Nth Six list elem rest => list -> elem
allButFirst :: (first, rest) -> rest
allButSecond :: Nth One list elem rest => list -> rest
allButThird :: Nth Two list elem rest => list -> rest
allButFourth :: Nth Three list elem rest => list -> rest
allButFifth :: Nth Four list elem rest => list -> rest
allButSixth :: Nth Five list elem rest => list -> rest
allButSeventh :: Nth Six list elem rest => list -> rest
Produced by Haddock version 0.6