Closed Icelandjack closed 7 years ago
Isn't this what Tannen
gives you?
newtype Tannen f p a b = Tannen { runTannen :: f (p a b) }
type (·) = Tannen
Not surprised this exists already but the name is not very descriptive
I'll use this instead and close the ticket :) thanks
Section 3 of Constructing Applicative Functors describes defining
ZipList
as a fixed point of the composition ofMaybe ∘ ×
. If we have a composition of a functor and a bifunctorwe can define
ZipList
asFix (Maybe · (,))