Copyright | (c) Edward Kmett 2012 |
---|---|
License | BSD3 |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
- class Variable t where
- _Var :: Prism' (t a) a
- class App t where
- _App :: Prism' (t a) (t a, t a)
- apps :: App t => t a -> [t a] -> t a
- (##) :: App t => t a -> t a -> t a
- class AppHash t where
- _AppHash :: Prism' (t a) (t a, t a)
- appHashes :: AppHash t => t a -> [t a] -> t a
- class AppDict c where
- _AppDict :: Prism' (c a) (c a, c a)
- appDicts :: AppDict t => t a -> [t a] -> t a
- class Fun t where
- _Fun :: Prism' (t a) (t a, t a)
- (~>) :: Fun t => t a -> t a -> t a
- class (Reviewable p, Functor f) => Tup p f t where
- _Tup :: Optic' p f t [t]
- tup :: Tup Tagged Identity t => [t] -> t
- tup' :: Tup Tagged Identity t => [t] -> t
Variables
Discriminable pure
.
Nothing
Application
Discriminable App
This prism provides ad hoc overloading of construction and pattern
matching on App
.
Nothing
Strict Unboxed Application
Nothing
Dictionary Application
AppDict
provides strict application for dictionary manipulation
Nothing
Fun
Discriminable syntactic arrows.
Nothing
Tup
class (Reviewable p, Functor f) => Tup p f t where Source
(Possibly) Discriminable tupling.
Nothing
(Bifunctor p, Choice p, Applicative f) => Tup p f (Pattern t) | |
((~) (* -> * -> *) p (Tagged *), (~) (* -> *) f Identity) => Tup p f (Type k t) | |
((~) (* -> * -> *) p (Tagged *), (~) (* -> *) f Identity, Tup (Tagged *) Identity t) => Tup p f (Binder v t) | |
((~) (* -> * -> *) p (Tagged *), (~) (* -> *) f Identity) => Tup p f (Term t a) |