Module

Ran

Package
purescript-resource
Repository
joneshf/purescript-resource

An implementation of the right Kan-extension.

#Ran Source

type Ran f g a = forall b. (a -> f b) -> g b

#apply Source

apply :: forall a b f g. (g ~> f) -> Ran f g (a -> b) -> Ran f g a -> Ran f g b

#bind Source

bind :: forall a b f g. (g ~> f) -> Ran f g a -> (a -> Ran f g b) -> Ran f g b

#lift Source

lift :: forall f g h. Functor h => (forall a. h (f a) -> g a) -> h ~> (Ran f g)

#lift' Source

lift' :: forall f g. Comonad f => Functor g => g ~> (Ran f g)

#liftAff Source

liftAff :: forall f g. MonadAff f => (f ~> g) -> Aff ~> (Ran f g)

#liftEffect Source

liftEffect :: forall f g. MonadEffect f => (f ~> g) -> Effect ~> (Ran f g)

#lower Source

lower :: forall a f g h. (h ~> (Ran f g)) -> h (f a) -> g a

#lower' Source

lower' :: forall f g. Applicative f => (Ran f g) ~> g

#map Source

map :: forall a b f g. (a -> b) -> Ran f g a -> Ran f g b

#pure Source

pure :: forall a f g. (f ~> g) -> a -> Ran f g a