Copyright | (C) 2015 Edward Kmett |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | Trustworthy |
Language | Haskell98 |
- newtype Hyper a b = Hyper {}
- unroll :: Hyper a b -> (Hyper a b -> a) -> b
- roll :: ((Hyper a b -> a) -> b) -> Hyper a b
- ana :: (x -> (x -> a) -> b) -> x -> Hyper a b
- cata :: (((x -> a) -> b) -> x) -> Hyper a b -> x
- push :: (a -> b) -> Hyper a b -> Hyper a b
- run :: Hyper a a -> a
- project :: Hyper a b -> a -> b
- fold :: [a] -> (a -> b -> c) -> c -> Hyper b c
- build :: (forall b c. (a -> b -> c) -> c -> Hyper b c) -> [a]