purescript-profunctor
purescript-profunctor copied to clipboard
Profunctor type classes and data structures
``` splitStrong :: forall p a b c d . Category p -- actually only Semigroupoid required => Strong p => p a b -> p c d -> p...
The reason that Function and other types cannot be an instance of Costrong is that PureScript is a strict evaluation. ``` unfirst :: forall a b c. p (Tuple a...
And probably the `Comonad` version rather than the `Traversable` version.
The `Applicative`typeclass can be presented in a fashion that makes the fact that it is a lax monoidal functor readily apparent: ```haskell class Functor f => Apply f where zip...
These should help with the long standing problem of how to make "failable" optics. If your profunctor supports a `Cochoice` instance, you can simply apply a Prism backwards to it....
Is there any reason why `Strong`/`Choice` require `second`/`right` and not instead derive them from `first`/`left`? ``` secondBasedOnFirst :: forall p a b c. Strong p => p a b ->...