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 g f b a. (g ~> f) -> Ran f g (a -> b) -> Ran f g a -> Ran f g b

#bind Source

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

#lift Source

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

#lift' Source

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

#liftAff Source

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

#liftEffect Source

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

#lower Source

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

#lower' Source

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

#map Source

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

#pure Source

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