Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Synopsis
- type AffineT = Trans WithAffine
- type AffineA p = Free (AffineT p)
- liftAffine :: p a b -> AffineA p a b
- foldAffine :: Category q => Choice q => Strong q => (p :-> q) -> AffineA p a b -> q a b
- runAffineT :: Choice q => Strong q => (p :-> q) -> AffineT p a b -> q a b
- runAffineM :: Monad m => (forall x y. p x y -> x -> m y) -> AffineA p a b -> a -> m b