ekmett / profunctors

Haskell 98 Profunctors
http://hackage.haskell.org/package/profunctors
Other
70 stars 43 forks source link

Add a `Lan` type #100

Closed echatav closed 2 years ago

echatav commented 2 years ago

kan-extensions has Ran and Lan but profunctors only has Ran. Together Procompose, Ran and Lan form a biclosed monoidal category structure on :->. Instead of a single internal hom, because Procompose is not symmetric, it has a left and right residual. I think Lan should be included in profunctors.

newtype Lan p q a b = Lan { runLan :: forall y. p b y -> q a y }
echatav commented 2 years ago

Wow, it's issue #100, surely propitious.

echatav commented 2 years ago

Oh shoot, I just realized this is Rift, the right Kan lift type which is in Data.Profunctor.Procompose, duh. Maybe some of the functions are still useful?

echatav commented 2 years ago

Closing