Copyright | (c) Fumiaki Kinoshita 2015 |
---|---|
License | BSD3 |
Maintainer | Fumiaki Kinoshita <fumiexcel@gmail.com> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
- newtype K0 a = K0 {
- getK0 :: a
- _K0 :: (Functor f, Profunctor p) => p a (f b) -> p (K0 a) (f (K0 b))
- type AllOf xs = K0 :* xs
- type OneOf xs = K0 :| xs
- (<%) :: x -> AllOf xs -> AllOf (x : xs)
- pluck :: x ∈ xs => AllOf xs -> x
- bury :: x ∈ xs => x -> OneOf xs
- (<%|) :: (x -> r) -> (OneOf xs -> r) -> OneOf (x : xs) -> r
- accessing :: (Coercible b a, b ∈ xs) => (a -> b) -> Lens' (AllOf xs) a
- decFields :: DecsQ -> DecsQ
- decFieldsDeriving :: [Name] -> DecsQ -> DecsQ
Documentation
Just a value.
(<%|) :: (x -> r) -> (OneOf xs -> r) -> OneOf (x : xs) -> r infixr 1 Source
Naive pattern matching for a plain value.
accessing :: (Coercible b a, b ∈ xs) => (a -> b) -> Lens' (AllOf xs) a Source
An accessor for newtype constructors.