Add polymorphism into the language #36
Labels
🔧 compiler
Issue concerns the compiler
💬 discussion
Further discussion is needed
✨ enhancement
New feature or request
The language does not have any polymorphism right now. Support for polymorphism should be added in the default calculus representation via a classic Big-Lambda type abstraction with type variables. Big lambdas should be explicitly annotated in order to avoid big-lambda inference in the type checking algorithm.
Then, the polymorphism should be reflected upwards in the intermediate representations, and reflected as minimally as possible in the surface syntax. In a first thought, surface syntax should not change at all.
The text was updated successfully, but these errors were encountered: