Module

ApplicativePhases.Day

Package
purescript-applicative-phases
Repository
artemisSystem/purescript-applicative-phases

#Day Source

newtype Day :: (Type -> Type) -> (Type -> Type) -> Type -> Typenewtype Day f g a

Constructors

  • Day (forall r. (forall y z. (y -> z -> a) -> f y -> g z -> r) -> r)

Instances

#mkDay Source

mkDay :: forall @f @g @a @x @y. (x -> y -> a) -> f x -> g y -> Day f g a

#unwrapDay Source

unwrapDay :: forall @f @g @a @r. (forall x y. (x -> y -> a) -> f x -> g y -> r) -> Day f g a -> r

#runDay Source

runDay :: forall @f. Applicative f => (Day f f) ~> f

#phaseA Source

phaseA :: forall @f @g. Applicative g => f ~> (Day f g)

#phaseB Source

phaseB :: forall @f @g. Applicative f => g ~> (Day f g)

#hoistA Source

hoistA :: forall @f @f' @g. (f ~> f') -> ((Day f g) ~> (Day f' g))

#hoistB Source

hoistB :: forall @g @g' @f. (g ~> g') -> ((Day f g) ~> (Day f g'))