hazel
hazel copied to clipboard
Create a new input syntax for function.
Motivation
Add a more compact syntax to function, such that
let f(x : A, y: B): C =
e
should behave the same as below:
let f : (A, B) -> C =
fun (x, y) -> e
This new function syntax is more analogous to other programming languages with strong data types, and is therefore easier to learn.
Implementation Strategy
I believe that it will mostly be a modification of Form.re
.
- [ ] Add new syntax expression
- [ ] Make sure that its further processing is identical to existing function syntax