vinyl-0.1.1.2: Extensible Records

Safe HaskellSafe-Inferred

Data.Vinyl.Classes

Synopsis

Documentation

class Apply arr f whereSource

This class is a generalized, but non-pointed version of Applicative. This is useful for types which range over functors rather than sets.

Methods

(<<*>>) :: f (arr a b) -> f a -> f bSource

Instances

Apply (* -> *) (~> *) (Rec rs)

Records can be applied to each other.

class Run t whereSource

To accumulate effects distributed over a data type, you run it.

Methods

run :: Applicative f => t f -> f (t Identity)Source

Instances

Run (Rec rs)

Records may be run to accumulate the effects of their fields.

newtype (f (~>) g) x Source

'(~>)' is a morphism between functors.

Constructors

NT 

Fields

runNT :: f x -> g x
 

Instances

Apply (* -> *) (~> *) (Rec rs)

Records can be applied to each other.