objective-0.6.2: Extensible objects

Copyright(c) Fumiaki Kinoshita 2014
LicenseBSD3
MaintainerFumiaki Kinoshita <fumiexcel@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Functor.Request

Description

 

Synopsis

Documentation

data Request a b r Source

'Request a b' is the type of a request that sends a to receive b.

Constructors

Request a (b -> r) 

Instances

Profunctor (Request a) 
Functor (Request a b) 
Monoid a => Applicative (Request a b) 
Tower (Request a b) 
Typeable (* -> * -> * -> *) Request 
type Floors1 (Request a b) = (:>) (* -> *) (Request a b) (Floors (Request a b)) 
type Floors (Request a b) = Empty (* -> *) 

mapRequest :: (a -> a') -> Request a b r -> Request a' b r Source

request :: Elevate (Request a b) f => a -> f b Source

accept :: Functor f => (a -> f b) -> Request a b r -> f r Source

acceptM :: Monad m => (a -> m b) -> Request a b r -> m r Source