2021-08-31 03:50:14 +03:00
|
|
|
Checks a corner case with type checking involving destructuring binds.
|
|
|
|
|
|
|
|
The binds were causing some sequences of lets to be unnecessarily
|
|
|
|
recursive.
|
|
|
|
|
2024-07-10 17:46:18 +03:00
|
|
|
``` unison
|
2021-08-31 03:50:14 +03:00
|
|
|
unique ability Nate where
|
|
|
|
nate: (Boolean, Nat)
|
|
|
|
antiNate: ()
|
|
|
|
|
|
|
|
|
|
|
|
sneezy: (Nat -> {d} a) -> '{Nate,d} a
|
|
|
|
sneezy dee _ =
|
|
|
|
(_,_) = nate
|
|
|
|
antiNate
|
|
|
|
dee 1
|
|
|
|
```
|
|
|
|
|
2024-07-10 19:17:15 +03:00
|
|
|
``` ucm
|
2021-08-31 03:50:14 +03:00
|
|
|
|
2023-12-22 14:55:24 +03:00
|
|
|
Loading changes detected in scratch.u.
|
|
|
|
|
2021-08-31 03:50:14 +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`:
|
|
|
|
|
2024-01-04 11:42:12 +03:00
|
|
|
ability Nate
|
2021-08-31 03:50:14 +03:00
|
|
|
sneezy : (Nat ->{d} a) -> '{d, Nate} a
|
|
|
|
|
|
|
|
```
|