2022-08-31 23:34:19 +03:00
|
|
|
Tests an case where decompiling could cause function arguments to occur in the
|
|
|
|
opposite order for partially applied functions.
|
|
|
|
|
2024-07-10 17:46:18 +03:00
|
|
|
``` unison
|
2022-08-31 23:34:19 +03:00
|
|
|
f : Nat -> Nat -> Nat -> () -> Nat
|
|
|
|
f x y z _ = x + y * z
|
|
|
|
|
|
|
|
> f 1 2
|
|
|
|
> f 1 2 3
|
|
|
|
```
|
|
|
|
|
2024-07-10 19:17:15 +03:00
|
|
|
``` ucm
|
2022-08-31 23:34:19 +03:00
|
|
|
|
2023-12-22 14:55:24 +03:00
|
|
|
Loading changes detected in scratch.u.
|
|
|
|
|
2022-08-31 23:34:19 +03:00
|
|
|
I found and typechecked these definitions in scratch.u. If you
|
|
|
|
do an `add` or `update`, here's how your codebase would
|
|
|
|
change:
|
|
|
|
|
|
|
|
⍟ These new definitions are ok to `add`:
|
|
|
|
|
|
|
|
f : Nat -> Nat -> Nat -> 'Nat
|
|
|
|
|
|
|
|
Now evaluating any watch expressions (lines starting with
|
|
|
|
`>`)... Ctrl+C cancels.
|
|
|
|
|
|
|
|
4 | > f 1 2
|
|
|
|
⧩
|
|
|
|
z _ -> 1 Nat.+ 2 Nat.* z
|
|
|
|
|
|
|
|
5 | > f 1 2 3
|
|
|
|
⧩
|
2023-07-21 09:12:22 +03:00
|
|
|
_ -> 1 Nat.+ 2 Nat.* 3
|
2022-08-31 23:34:19 +03:00
|
|
|
|
|
|
|
```
|