|
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 | | | listLength :: ListType a => a -> Integer | | class LispShow a where | | | class Appended short element long | short element -> long, long -> short element where | | | class Concatenated1 a b ab | a b -> ab, a ab -> b where | | | class Concatenated2 a b ab | b ab -> a where | | | class (Concatenated1 a b ab, Concatenated2 a b ab) => Concatenated a b ab | a b -> ab, a ab -> b, b ab -> a where | | | 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 | | | 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 |
|
|
listLength :: ListType a => a -> Integer |
|
class LispShow a where |
Show like Lisp | | Methods | | | Instances | |
|
|
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 | |
|
|
class Concatenated1 a b ab | a b -> ab, a ab -> b where |
| Methods | xconcatenate :: a -> b -> ab | | xconcatFirstPiece :: ab -> a |
| | Instances | |
|
|
class Concatenated2 a b ab | b ab -> a where |
| Methods | xconcatSecondPiece :: ab -> b |
| | Instances | |
|
|
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 | |
|
|
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 |
| 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 |