polysemy-vinyl-0.1.1.0: Functions for mapping vinyl records in polysemy.
LicenseMIT
Maintainerdan.firth@homotopic.tech
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Polysemy.Vinyl

Description

Extra functions for using vinyl records with polysemy.

Synopsis

Documentation

rContramapInput Source #

Arguments

:: (RMap xs, Members '[Input (Rec f xs)] r) 
=> (forall y. f y -> g y)

A natural transformation from f to g.

-> Sem (Input (Rec g xs) ': r) a 
-> Sem r a 

Map an Input containing a Rec contravariantly via a natural transformation. Uses rmap.

Since: 0.1.0.0

rContramapInput' Source #

Arguments

:: RMap xs 
=> (forall y. f y -> g y)

A natural transformation from f to g.

-> Sem (Input (Rec g xs) ': r) a 
-> Sem (Input (Rec f xs) ': r) a 

Reinterpreting version of rContramapInput.

Since: 0.1.0.0

rMapOutput Source #

Arguments

:: (RMap xs, Members '[Output (Rec g xs)] r) 
=> (forall y. f y -> g y)

A natural transformation from f to g.

-> Sem (Output (Rec f xs) ': r) a 
-> Sem r a 

Map an Output containing a Rec covariantly via a natural transformation. Uses rmap.

Since: 0.1.0.0

rMapOutput' Source #

Arguments

:: RMap xs 
=> (forall y. f y -> g y)

A natural transformation from f to g.

-> Sem (Output (Rec f xs) ': r) a 
-> Sem (Output (Rec g xs) ': r) a 

Reinterpreting version of rMapOutput.

Since: 0.1.0.0