Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think in Haskell you need to add:

    {-# LANGUAGE UndecidableInstances #-}
to get an Undecidable type system.


There are other language extensions to make the haskell type system undecidable. The classic example is `RankNTypes`

E.g. you can proof that type systems of rank n >= 3 are undecidable. [0]

I think that's why haskell has both Rank2Types and RankNTypes as a language extension. So you can still use higher rank types without running into decidability problems up to rank 2.

[0] https://dl.acm.org/doi/10.1145/182409.182456




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: