Skip to content

Tuple sections and impredicativity

Consider typecheck/should_run/tcrun042

e :: a -> (forall b. b -> b -> b) -> (a, String, forall c. c -> c -> c)
e = (,"Hello" ++ "World",)

Currently the typing for tuple sections (in the ExplicitTuples case of tcExpr) makes the missing arguments into monotypes, so the program is rejected. With a bit more care we could do better. Not hard, but would need a little care.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information