|
| Data.DDeepArrow | | Portability | portable | | Stability | experimental | | Maintainer | conal@conal.net |
|
|
|
|
|
| Description |
| "Deep arrows" as a data type. Handy for code generation.
|
|
| Synopsis |
|
| data DArrow where | | Arr :: DVal (a -> b) -> a `DArrow` b | | Compose :: (a `DArrow` b) -> (b `DArrow` c) -> a `DArrow` c | | First :: (a `DArrow` a') -> (a, b) `DArrow` (a', b) | | Second :: (b `DArrow` b') -> (a, b) `DArrow` (a, b') | | Result :: (b `DArrow` b') -> (a -> b) `DArrow` (a -> b') | | FunF :: (c -> a, b) `DArrow` (c -> (a, b)) | | FunS :: (a, c -> b) `DArrow` (c -> (a, b)) | | FunR :: (a -> c -> b) `DArrow` (c -> a -> b) | | CurryA :: ((a, b) -> c) `DArrow` (a -> b -> c) | | UncurryA :: (a -> b -> c) `DArrow` ((a, b) -> c) | | LAssocA :: (a, (b, c)) `DArrow` ((a, b), c) | | RAssocA :: ((a, b), c) `DArrow` (a, (b, c)) | | IdA :: a `DArrow` a | | DupA :: a `DArrow` (a, a) | | FstA :: (a, b) `DArrow` a | | SndA :: (a, b) `DArrow` b | | SwapA :: (a, b) `DArrow` (b, a) |
|
| | |
|
|
|
| The DeepArrow data type
|
|
|
| This GADT mirrors the DeepArrow class and part of the FunArr class.
| | Constructors | | Arr :: DVal (a -> b) -> a `DArrow` b | | | Compose :: (a `DArrow` b) -> (b `DArrow` c) -> a `DArrow` c | | | First :: (a `DArrow` a') -> (a, b) `DArrow` (a', b) | | | Second :: (b `DArrow` b') -> (a, b) `DArrow` (a, b') | | | Result :: (b `DArrow` b') -> (a -> b) `DArrow` (a -> b') | | | FunF :: (c -> a, b) `DArrow` (c -> (a, b)) | | | FunS :: (a, c -> b) `DArrow` (c -> (a, b)) | | | FunR :: (a -> c -> b) `DArrow` (c -> a -> b) | | | CurryA :: ((a, b) -> c) `DArrow` (a -> b -> c) | | | UncurryA :: (a -> b -> c) `DArrow` ((a, b) -> c) | | | LAssocA :: (a, (b, c)) `DArrow` ((a, b), c) | | | RAssocA :: ((a, b), c) `DArrow` (a, (b, c)) | | | IdA :: a `DArrow` a | | | DupA :: a `DArrow` (a, a) | | | FstA :: (a, b) `DArrow` a | | | SndA :: (a, b) `DArrow` b | | | SwapA :: (a, b) `DArrow` (b, a) | |
| Instances | |
|
|
|
| A GADT alternative to terms. Allows generation of Haskell terms and,
from there, strings and eval.
| | Constructors | | Instances | |
|
|
| Produced by Haddock version 2.3.0 |