mirror of
https://github.com/unisonweb/unison.git
synced 2024-10-26 02:55:19 +03:00
0031542faf
This is for consistency with the `cmark` style. Now the blocks we still pretty-print ourselves will match the bulk of them that `cmark` produces.
70 lines
1.4 KiB
Markdown
70 lines
1.4 KiB
Markdown
First we'll add a definition:
|
|
|
|
``` unison
|
|
structural ability DeathStar where
|
|
attack : Text -> ()
|
|
|
|
spaceAttack1 x =
|
|
y = attack "saturn"
|
|
z = attack "neptune"
|
|
"All done"
|
|
```
|
|
|
|
``` ucm
|
|
|
|
Loading changes detected in scratch.u.
|
|
|
|
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`:
|
|
|
|
structural ability DeathStar
|
|
spaceAttack1 : x ->{DeathStar} Text
|
|
|
|
```
|
|
Add it to the codebase:
|
|
|
|
``` ucm
|
|
scratch/main> add
|
|
|
|
⍟ I've added these definitions:
|
|
|
|
structural ability DeathStar
|
|
spaceAttack1 : x ->{DeathStar} Text
|
|
|
|
```
|
|
Now we'll try to add a different definition that runs the actions in a different order. This should work fine:
|
|
|
|
``` unison
|
|
spaceAttack2 x =
|
|
z = attack "neptune"
|
|
y = attack "saturn"
|
|
"All done"
|
|
```
|
|
|
|
``` ucm
|
|
|
|
Loading changes detected in scratch.u.
|
|
|
|
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`:
|
|
|
|
spaceAttack2 : x ->{DeathStar} Text
|
|
|
|
```
|
|
``` ucm
|
|
scratch/main> add
|
|
|
|
⍟ I've added these definitions:
|
|
|
|
spaceAttack2 : x ->{DeathStar} Text
|
|
|
|
```
|
|
Previously, this would fail because the hashing algorithm was being given one big let rec block whose binding order was normalized.
|
|
|