-
Notifications
You must be signed in to change notification settings - Fork 26
Open
Description
The type is
foldVL
:: (forall f. Applicative f => (a -> f u) -> s -> f v)
-> Fold s abut it should be
foldVL'
:: (forall f. (Applicative f, Contravariant f) => (a -> f a) -> s -> f s)
-> Fold s aI guess, like #533, the reason is to support old GHC's (or rather old bases) that don't include Contravariant. Perhaps #532 is the better choice. If optics is going to stick with 8.4 support, could the documentation be updated to explain that foldVL doesn't work with all van Laarhoven folds, and why this choice was made?
By the way, this seems to be the implementation:
foldVL' f =
foldVL @_ @() @_ @() (\k s -> getAp (getConst (f (Const . Ap . k) s)))Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels