Bidirectional Programming with Monadic Profunctors
This package provides tools to work with monadic profunctors: types that are both monads and profunctors.
Currently known instances of monadic profunctors are certain types of bidirectional programs, i.e., programs that have "invertible" interpretations.
QuickCheck(random generation) wrapper:
codecfor a general monadic profunctor for bidirectional programming, has implementations for
binary. The idea of monadic profunctors first came from this package.