You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Parser/Printer: unify uncurried functions of arity 0, and of arity 1 taking unit. (#5825)
* Test: don't emit arity zero from the parser.
* Clean up: remove "(u)" encoding for uncurried unariy application.
* Update CHANGELOG.md
* Use `res.uapp` for uncurried app attribute coming from the parser.
* Clean up test.
* rename
* Update CHANGELOG.md
Copy file name to clipboardExpand all lines: CHANGELOG.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,8 @@
20
20
- Add support for partial application of uncurried functions: with uncurried application one can provide a
21
21
subset of the arguments, and return a curried type with the remaining ones https://github.com/rescript-lang/rescript-compiler/pull/5805
22
22
- Add support for uncurried externals https://github.com/rescript-lang/rescript-compiler/pull/5815https://github.com/rescript-lang/rescript-compiler/pull/5819
23
+
- Parser/Printer: unify uncurried functions of arity 0, and of arity 1 taking unit. There's now only arity 1 in the source language. https://github.com/rescript-lang/rescript-compiler/pull/5825
24
+
23
25
24
26
#### :boom: Breaking Change
25
27
@@ -32,7 +34,6 @@ subset of the arguments, and return a curried type with the remaining ones https
32
34
- Curried after uncurried is not fused anymore: `(. x) => y => 3` is not equivalent to `(. x, y) => 3` anymore. It's instead equivalent to `(. x) => { y => 3 }`.
33
35
Also, `(. int) => string => bool` is not equivalen to `(. int, string) => bool` anymore.
34
36
These are only breaking changes for unformatted code.
35
-
- Distinguish between uncurried type `(. ()) => int`, whch takes 0 arguments, and `(. unit) => int` which takes 1 argument of type `unit`https://github.com/rescript-lang/rescript-compiler/pull/5821
0 commit comments