[Haskell-cafe] Where are rank-3 types necessary in practice for maintaining abstraction?

Joachim Durchholz jo at durchholz.org
Tue Apr 3 08:04:16 UTC 2018

Am 03.04.2018 um 08:54 schrieb Timotej Tomandl:
> Ok, I thought about it a bit more and realized mask in Control.Exception 
> is the one where rank-3 is necessary, which is the example I was looking 
> for.

Given your newly acquired insights, do you expect that there will be 
ultimately a valid example for higher ranks?
Is there a theoretical limit?
Or a practical one? E.g. it might be too awkward to mentally handle 
higher-rank polymorphism - or maybe there's no real mental difference 
when dealing with higher-ranked polymorphism, I don't know because I 
didn't have to deal with that yet, so I'm curious.

 > Sorry for the spam.

Actually it was interesting.


More information about the Haskell-Cafe mailing list