mirror of
https://github.com/unisonweb/unison.git
synced 2024-09-11 02:25:39 +03:00
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.
126 lines
2.0 KiB
Markdown
126 lines
2.0 KiB
Markdown
First we add some code:
|
|
|
|
``` unison
|
|
x = 0
|
|
y = x + 1
|
|
z = y + 2
|
|
```
|
|
|
|
``` 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`:
|
|
|
|
x : Nat
|
|
y : Nat
|
|
z : Nat
|
|
|
|
```
|
|
``` ucm
|
|
scratch/main> add
|
|
|
|
⍟ I've added these definitions:
|
|
|
|
x : Nat
|
|
y : Nat
|
|
z : Nat
|
|
|
|
```
|
|
Now we edit `x` to be `7`, which should make `z` equal `10`:
|
|
|
|
``` unison
|
|
x = 7
|
|
```
|
|
|
|
``` 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 names already exist. You can `update` them to your
|
|
new definition:
|
|
|
|
x : Nat
|
|
|
|
```
|
|
``` ucm
|
|
scratch/main> update
|
|
|
|
Okay, I'm searching the branch for code that needs to be
|
|
updated...
|
|
|
|
That's done. Now I'm making sure everything typechecks...
|
|
|
|
Everything typechecks, so I'm saving the results...
|
|
|
|
Done.
|
|
|
|
scratch/main> view x y z
|
|
|
|
x : Nat
|
|
x = 7
|
|
|
|
y : Nat
|
|
y =
|
|
use Nat +
|
|
x + 1
|
|
|
|
z : Nat
|
|
z =
|
|
use Nat +
|
|
y + 2
|
|
|
|
```
|
|
Uh oh\! `z` is still referencing the old version. Just to confirm:
|
|
|
|
``` unison
|
|
test> t1 = if z == 3 then [Fail "nooo!!!"] else [Ok "great"]
|
|
```
|
|
|
|
``` 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`:
|
|
|
|
t1 : [Result]
|
|
|
|
Now evaluating any watch expressions (lines starting with
|
|
`>`)... Ctrl+C cancels.
|
|
|
|
1 | test> t1 = if z == 3 then [Fail "nooo!!!"] else [Ok "great"]
|
|
|
|
✅ Passed great
|
|
|
|
```
|
|
``` ucm
|
|
scratch/main> add
|
|
|
|
⍟ I've added these definitions:
|
|
|
|
t1 : [Result]
|
|
|
|
scratch/main> test
|
|
|
|
Cached test results (`help testcache` to learn more)
|
|
|
|
1. t1 ◉ great
|
|
|
|
✅ 1 test(s) passing
|
|
|
|
Tip: Use view 1 to view the source of a test.
|
|
|
|
```
|