Copyright | (c) Marcin Mrotek 2014 |
---|---|
License | BSD3 |
Maintainer | marcin.jan.mrotek@gmail.com |
Safe Haskell | None |
Language | Haskell2010 |
Extensions |
|
Operations on constant type records.
- cfmap :: (a -> b) -> Rec (Const a) rs -> Rec (Const b) rs
- cpure :: Record rs => a -> Rec (Const a) rs
- capp :: Rec (Const (a -> b)) rs -> Rec (Const a) rs -> Rec (Const b) rs
- rconst :: (Applicative f, RecApplicative rs) => f a -> f (Rec (Const a) rs)
- constCommute :: Functor f => Const (f a) b -> Compose f (Const a) b
- rtraverseconst :: Applicative f => Rec (Const (f a)) rs -> f (Rec (Const a) rs)
- class Record rs where
Documentation
cfmap :: (a -> b) -> Rec (Const a) rs -> Rec (Const b) rs Source #
Map a function over a constant type record.
capp :: Rec (Const (a -> b)) rs -> Rec (Const a) rs -> Rec (Const b) rs Source #
Extension of (*) to constant type records.
rconst :: (Applicative f, RecApplicative rs) => f a -> f (Rec (Const a) rs) Source #
constCommute :: Functor f => Const (f a) b -> Compose f (Const a) b Source #
Commute a constant functor with another functor.
rtraverseconst :: Applicative f => Rec (Const (f a)) rs -> f (Rec (Const a) rs) Source #
Distribute a functor over a constant type record.