Multi-parameter functions in `Core` and `Untyped`
- Dominant language
- OCaml
- Stars
- 45
- Forks
- 28
- PR merge metrics
- No merged PRs in 30d
Description
We could consider modifying `Core` and `Untyped` languages to support real multi-parameter functions. I see several benefits:
- it would simplify some parts of compilation of deep pattern-matching;
- it would allow to get rid of a dummy unit parameter that delays a computation (currently, such things appear in the translation of deep pattern-matching in avoiding duplication of code used by several patterns);
- it will pave the path towards multi-parameter functions in `Unif` and `Surface` (I'm not sure if we want that);
- a code will run faster (if we care about that): polymorphic functions with named/implicit parameters are true multi-parameter functions, so we could avoid creating of unnecessary closures.
However, it complicates these intermediate languages and raises some questions about how multi-parameter functions should be combined with parametric polymorphism (should they be combined into a single construct or treated separately?).
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.