|
| 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 |