unison/unison-src/transcripts/fix1532.output.md
Greg Pfeil 0031542faf
Add a space before code block info strings
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.
2024-07-10 13:56:07 -06:00

90 lines
1.4 KiB
Markdown

``` ucm
scratch/main> builtins.merge
Done.
```
First, lets create two namespaces. `foo` and `bar`, and add some definitions.
``` unison
foo.x = 42
foo.y = 100
bar.z = x + y
```
``` 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`:
bar.z : Nat
foo.x : Nat
foo.y : Nat
```
``` ucm
scratch/main> add
⍟ I've added these definitions:
bar.z : Nat
foo.x : Nat
foo.y : Nat
```
Let's see what we have created...
``` ucm
scratch/main> ls
1. bar/ (1 term)
2. builtin/ (469 terms, 74 types)
3. foo/ (2 terms)
```
Now, if we try deleting the namespace `foo`, we get an error, as expected.
``` ucm
scratch/main> delete.namespace foo
⚠️
I didn't delete the namespace because the following
definitions are still in use.
Dependency Referenced In
x 1. bar.z
y 2. bar.z
If you want to proceed anyways and leave those definitions
without names, use delete.namespace.force
```
Any numbered arguments should refer to `bar.z`.
``` ucm
scratch/main> debug.numberedArgs
1. bar.z
2. bar.z
```
We can then delete the dependent term, and then delete `foo`.
``` ucm
scratch/main> delete.term 1
Done.
scratch/main> delete.namespace foo
Done.
```