diff --git a/unison-src/transcripts/fix1532.md b/unison-src/transcripts/fix1532.md new file mode 100644 index 000000000..6b5a07c93 --- /dev/null +++ b/unison-src/transcripts/fix1532.md @@ -0,0 +1,40 @@ +```ucm +.> builtins.merge +``` + +First, lets create two namespaces. `foo` and `bar`, and add some definitions. + +```unison +foo.x = 42 +foo.y = 100 +bar.z = x + y +``` + +```ucm +.> add +``` + +Let's see what we have created... + +```ucm +.> ls +``` + +Now, if we try deleting the namespace `foo`, we get an error, as expected. + +```ucm:error +.> delete.namespace foo +``` + +Any numbered arguments should refer to `bar.z`. + +```ucm +.> debug.numberedArgs +``` + +We can then delete the dependent term, and then delete `foo`. + +```ucm +.> delete.term 1 +.> delete.namespace foo +``` diff --git a/unison-src/transcripts/fix1532.output.md b/unison-src/transcripts/fix1532.output.md new file mode 100644 index 000000000..d2707bb51 --- /dev/null +++ b/unison-src/transcripts/fix1532.output.md @@ -0,0 +1,89 @@ +```ucm +.> 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 +.> add + + ⍟ I've added these definitions: + + bar.z : Nat + foo.x : Nat + foo.y : Nat + +``` +Let's see what we have created... + +```ucm +.> 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 +.> 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 +.> debug.numberedArgs + + 1. bar.z + 2. bar.z + +``` +We can then delete the dependent term, and then delete `foo`. + +```ucm +.> delete.term 1 + + Done. + +.> delete.namespace foo + + Done. + +```