[Haskell-cafe] Where does η-equivalence stop?
Hécate
hecate at glitchbra.in
Mon Jun 20 08:38:46 UTC 2022
Hi Café!
I was wondering if anyone knew of a centralised list of occurrences
where GHC Haskell stops upholding η-equivalence. I am interested in both
type changes and operational semantics.
So far I've collected the following things:
* Rank-2 types
* Monomorphism restriction
* The presence of seq
* Non-pedantic bottoms
One source is the GHC Manual¹, and Neil Mitchell pointed me to the list
of bugs and limitations of HLint².
If you have other examples, or explanations of the mechanisms at play
here, I would be very interested, and intend to upstream those in the
GHC manual.
Cheers,
Hécate
[¹]
https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/bugs.html#expressions-and-patterns
[²] https://github.com/ndmitchell/hlint#bugs-and-limitations
--
Hécate ✨
🐦: @TechnoEmpress
IRC: Hecate
WWW: https://glitchbra.in
RUN: BSD
More information about the Haskell-Cafe
mailing list