DeepArrow-0.4.0: Arrows for "deep application"

Portabilityportable
Stabilityexperimental
Maintainerconal@conal.net
Safe HaskellNone

Data.FunArr

Description

Conversion between arrow values and wrapped functions.

Synopsis

Documentation

class FunArr ar w | ar -> w, w -> ar whereSource

Convert between an arrow value and a "wrapped function". The "arrow" doesn't really have to be an arrow. I'd appreciate ideas for names & uses.

Methods

toArr :: w (a -> b) -> a `ar` bSource

Convert a w-wrapped function to an arrow value

($$) :: (a `ar` b) -> w a -> w bSource

Apply an arrow to a w-wrapped value

Instances

FunArr (->) Id 
FunArr DArrow DVal 
(FunArr ar w, FunArr ar' w') => FunArr (::*:: ar ar') (:*: w w')