This repository was archived by the owner on Aug 3, 2024. It is now read-only.
This repository was archived by the owner on Aug 3, 2024. It is now read-only.
Explicit foralls are shown even if they don't matter #1271
Open
Description
Explicit foralls should only be displayed if they declare type parameters out of order. Haddock correctly displays the full type signature of this function:
f :: forall b a. a -> b
Here, the explicit forall should be displayed, because the out-of-order type parameters impact TypeApplications. However, Haddock also displays the full type signature of this function:
f :: forall a b. a -> b
Here, the explicit forall has no impact on users. It is an implementation detail. If a function is altered internally to use scoped type variables, or altered to no longer use them, those changes have no external effect and should be hidden from documentation. Therefore, Haddock should display this type signature instead:
f :: a -> b