Understanding of confusion

I was wondering if there is any method you can add in Traversableto make it cheaper in the presence of expensive functors. The inspiration was Control.Lens.Traversal.confusingthat uses a special Applicativeone to do something like that.

confusing :: Applicative f => LensLike (Curried (Yoneda f) (Yoneda f)) s t a b -> LensLike f s t a b

Unfortunately, it confusingreally matches its name - I don’t understand what it actually does. In particular, I have no intuition about Curried.

It also confusinghas the aroma of CPS, which suggests that it is too strict for my purpose. Yonedacan be swapped on Coyonedato increase laziness, but I have no idea what to do with Curried.

+4
source share

Source: https://habr.com/ru/post/1665533/


All Articles