mirror of
https://github.com/unisonweb/unison.git
synced 2024-11-04 01:03:36 +03:00
Transcript updates
This commit is contained in:
parent
03474ac2b0
commit
3d553b3048
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -19,7 +19,7 @@ The `builtins.merge` command adds the known builtins to a `builtin` subnamespace
|
||||
8. Char/ (3 terms)
|
||||
9. Code (builtin type)
|
||||
10. Code/ (8 terms)
|
||||
11. Debug/ (2 terms)
|
||||
11. Debug/ (3 terms)
|
||||
12. Doc (type)
|
||||
13. Doc/ (6 terms)
|
||||
14. Either (type)
|
||||
|
@ -23,7 +23,7 @@ Technically, the definitions all exist, but they have no names. `builtins.merge`
|
||||
|
||||
.foo> ls
|
||||
|
||||
1. builtin/ (413 terms, 63 types)
|
||||
1. builtin/ (414 terms, 63 types)
|
||||
|
||||
```
|
||||
And for a limited time, you can get even more builtin goodies:
|
||||
@ -35,7 +35,7 @@ And for a limited time, you can get even more builtin goodies:
|
||||
|
||||
.foo> ls
|
||||
|
||||
1. builtin/ (583 terms, 79 types)
|
||||
1. builtin/ (584 terms, 79 types)
|
||||
|
||||
```
|
||||
More typically, you'd start out by pulling `base.
|
||||
|
@ -121,13 +121,13 @@ We can also delete the fork if we're done with it. (Don't worry, it's still in t
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ 1. #q2cb2dqvje
|
||||
⊙ 1. #khhiq1sc3o
|
||||
|
||||
- Deletes:
|
||||
|
||||
feature1.y
|
||||
|
||||
⊙ 2. #lbjaubg5e9
|
||||
⊙ 2. #0t16m7j03m
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
@ -138,26 +138,26 @@ We can also delete the fork if we're done with it. (Don't worry, it's still in t
|
||||
Original name New name(s)
|
||||
feature1.y master.y
|
||||
|
||||
⊙ 3. #71ajvea616
|
||||
⊙ 3. #l4cc5snm7c
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
feature1.y
|
||||
|
||||
⊙ 4. #vr2ttthg2l
|
||||
⊙ 4. #0ujfvnropc
|
||||
|
||||
> Moves:
|
||||
|
||||
Original name New name
|
||||
x master.x
|
||||
|
||||
⊙ 5. #b1o80r34ce
|
||||
⊙ 5. #jd5q4ga1jk
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
x
|
||||
|
||||
□ 6. #7un22ntllg (start of history)
|
||||
□ 6. #67ki96tn2j (start of history)
|
||||
|
||||
```
|
||||
To resurrect an old version of a namespace, you can learn its hash via the `history` command, then use `fork #namespacehash .newname`.
|
||||
|
@ -267,7 +267,7 @@ I should be able to move the root into a sub-namespace
|
||||
|
||||
.> ls
|
||||
|
||||
1. root/ (588 terms, 80 types)
|
||||
1. root/ (589 terms, 80 types)
|
||||
|
||||
.> history
|
||||
|
||||
@ -276,13 +276,13 @@ I should be able to move the root into a sub-namespace
|
||||
|
||||
|
||||
|
||||
□ 1. #3rt95kasco (start of history)
|
||||
□ 1. #auu2tl56oq (start of history)
|
||||
|
||||
```
|
||||
```ucm
|
||||
.> ls .root.at.path
|
||||
|
||||
1. builtin/ (583 terms, 79 types)
|
||||
1. builtin/ (584 terms, 79 types)
|
||||
2. existing/ (1 term)
|
||||
3. happy/ (3 terms, 1 type)
|
||||
4. history/ (1 term)
|
||||
@ -292,7 +292,7 @@ I should be able to move the root into a sub-namespace
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ 1. #9h5q2s97j1
|
||||
⊙ 1. #97qd306bhl
|
||||
|
||||
- Deletes:
|
||||
|
||||
@ -303,7 +303,7 @@ I should be able to move the root into a sub-namespace
|
||||
Original name New name
|
||||
existing.a.termInA existing.b.termInA
|
||||
|
||||
⊙ 2. #uc76cu49n5
|
||||
⊙ 2. #m150lr1ui2
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
@ -315,26 +315,26 @@ I should be able to move the root into a sub-namespace
|
||||
happy.b.termInA existing.a.termInA
|
||||
history.b.termInA existing.a.termInA
|
||||
|
||||
⊙ 3. #p0i5leprku
|
||||
⊙ 3. #jjjgo7q3n5
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
existing.a.termInA existing.b.termInB
|
||||
|
||||
⊙ 4. #6653phkspu
|
||||
⊙ 4. #c0mb4ochf8
|
||||
|
||||
> Moves:
|
||||
|
||||
Original name New name
|
||||
history.a.termInA history.b.termInA
|
||||
|
||||
⊙ 5. #96s54m0o9q
|
||||
⊙ 5. #usfoef2l86
|
||||
|
||||
- Deletes:
|
||||
|
||||
history.b.termInB
|
||||
|
||||
⊙ 6. #kdt1ubsjvc
|
||||
⊙ 6. #gdreu1e9hl
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
@ -345,13 +345,13 @@ I should be able to move the root into a sub-namespace
|
||||
Original name New name(s)
|
||||
happy.b.termInA history.a.termInA
|
||||
|
||||
⊙ 7. #ilms0te7e9
|
||||
⊙ 7. #u0lvtvmjtq
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
history.a.termInA history.b.termInB
|
||||
|
||||
⊙ 8. #s4rrj4ar8p
|
||||
⊙ 8. #6p6s9eutui
|
||||
|
||||
> Moves:
|
||||
|
||||
@ -361,7 +361,7 @@ I should be able to move the root into a sub-namespace
|
||||
happy.a.T.T2 happy.b.T.T2
|
||||
happy.a.termInA happy.b.termInA
|
||||
|
||||
⊙ 9. #neo6d1tqh5
|
||||
⊙ 9. #iaptpdrgpv
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
@ -371,7 +371,7 @@ I should be able to move the root into a sub-namespace
|
||||
|
||||
happy.a.T.T
|
||||
|
||||
⊙ 10. #u3uo460daa
|
||||
⊙ 10. #qt23b1u7cq
|
||||
|
||||
+ Adds / updates:
|
||||
|
||||
@ -383,7 +383,7 @@ I should be able to move the root into a sub-namespace
|
||||
|
||||
⠇
|
||||
|
||||
⊙ 11. #bqq857tsem
|
||||
⊙ 11. #h8kqn6r8hl
|
||||
|
||||
|
||||
```
|
||||
|
@ -1284,112 +1284,117 @@ d = c + 10
|
||||
-> Nat
|
||||
449. builtin.Char.toText : Char
|
||||
-> Text
|
||||
450. builtin.Float.toText : Float
|
||||
450. builtin.Debug.toText : a
|
||||
-> Optional
|
||||
(Either
|
||||
Text
|
||||
Text)
|
||||
451. builtin.Float.toText : Float
|
||||
-> Text
|
||||
451. builtin.Handle.toText : Handle
|
||||
452. builtin.Handle.toText : Handle
|
||||
-> Text
|
||||
452. builtin.Int.toText : Int
|
||||
453. builtin.Int.toText : Int
|
||||
-> Text
|
||||
453. builtin.Nat.toText : Nat
|
||||
454. builtin.Nat.toText : Nat
|
||||
-> Text
|
||||
454. builtin.Socket.toText : Socket
|
||||
455. builtin.Socket.toText : Socket
|
||||
-> Text
|
||||
455. builtin.Link.Term.toText : Term
|
||||
456. builtin.Link.Term.toText : Term
|
||||
-> Text
|
||||
456. builtin.ThreadId.toText : ThreadId
|
||||
457. builtin.ThreadId.toText : ThreadId
|
||||
-> Text
|
||||
457. builtin.Text.toUppercase : Text
|
||||
458. builtin.Text.toUppercase : Text
|
||||
-> Text
|
||||
458. builtin.Text.toUtf8 : Text
|
||||
459. builtin.Text.toUtf8 : Text
|
||||
-> Bytes
|
||||
459. builtin.todo : a -> b
|
||||
460. builtin.Debug.trace : Text
|
||||
460. builtin.todo : a -> b
|
||||
461. builtin.Debug.trace : Text
|
||||
-> a
|
||||
-> ()
|
||||
461. builtin.Int.trailingZeros : Int
|
||||
462. builtin.Int.trailingZeros : Int
|
||||
-> Nat
|
||||
462. builtin.Nat.trailingZeros : Nat
|
||||
463. builtin.Nat.trailingZeros : Nat
|
||||
-> Nat
|
||||
463. builtin.Float.truncate : Float
|
||||
464. builtin.Float.truncate : Float
|
||||
-> Int
|
||||
464. builtin.Int.truncate0 : Int
|
||||
465. builtin.Int.truncate0 : Int
|
||||
-> Nat
|
||||
465. builtin.io2.IO.tryEval : '{IO} a
|
||||
466. builtin.io2.IO.tryEval : '{IO} a
|
||||
->{IO,
|
||||
Exception} a
|
||||
466. builtin.io2.Promise.tryRead : Promise
|
||||
467. builtin.io2.Promise.tryRead : Promise
|
||||
a
|
||||
->{IO} Optional
|
||||
a
|
||||
467. builtin.io2.MVar.tryTake : MVar a
|
||||
468. builtin.io2.MVar.tryTake : MVar a
|
||||
->{IO} Optional
|
||||
a
|
||||
468. builtin.Text.uncons : Text
|
||||
469. builtin.Text.uncons : Text
|
||||
-> Optional
|
||||
( Char,
|
||||
Text)
|
||||
469. builtin.Any.unsafeExtract : Any
|
||||
470. builtin.Any.unsafeExtract : Any
|
||||
-> a
|
||||
470. builtin.Text.unsnoc : Text
|
||||
471. builtin.Text.unsnoc : Text
|
||||
-> Optional
|
||||
( Text,
|
||||
Char)
|
||||
471. builtin.Code.validate : [( Term,
|
||||
472. builtin.Code.validate : [( Term,
|
||||
Code)]
|
||||
->{IO} Optional
|
||||
Failure
|
||||
472. builtin.io2.validateSandboxed : [Term]
|
||||
473. builtin.io2.validateSandboxed : [Term]
|
||||
-> a
|
||||
-> Boolean
|
||||
473. builtin.Value.value : a
|
||||
474. builtin.Value.value : a
|
||||
-> Value
|
||||
474. builtin.Debug.watch : Text
|
||||
475. builtin.Debug.watch : Text
|
||||
-> a
|
||||
-> a
|
||||
475. builtin.MutableArray.write : MutableArray
|
||||
476. builtin.MutableArray.write : MutableArray
|
||||
g a
|
||||
-> Nat
|
||||
-> a
|
||||
->{g,
|
||||
Exception} ()
|
||||
476. builtin.io2.Promise.write : Promise
|
||||
477. builtin.io2.Promise.write : Promise
|
||||
a
|
||||
-> a
|
||||
->{IO} Boolean
|
||||
477. builtin.Ref.write : Ref g a
|
||||
478. builtin.Ref.write : Ref g a
|
||||
-> a
|
||||
->{g} ()
|
||||
478. builtin.io2.TVar.write : TVar a
|
||||
479. builtin.io2.TVar.write : TVar a
|
||||
-> a
|
||||
->{STM} ()
|
||||
479. builtin.MutableByteArray.write16be : MutableByteArray
|
||||
480. builtin.MutableByteArray.write16be : MutableByteArray
|
||||
g
|
||||
-> Nat
|
||||
-> Nat
|
||||
->{g,
|
||||
Exception} ()
|
||||
480. builtin.MutableByteArray.write32be : MutableByteArray
|
||||
481. builtin.MutableByteArray.write32be : MutableByteArray
|
||||
g
|
||||
-> Nat
|
||||
-> Nat
|
||||
->{g,
|
||||
Exception} ()
|
||||
481. builtin.MutableByteArray.write64be : MutableByteArray
|
||||
482. builtin.MutableByteArray.write64be : MutableByteArray
|
||||
g
|
||||
-> Nat
|
||||
-> Nat
|
||||
->{g,
|
||||
Exception} ()
|
||||
482. builtin.MutableByteArray.write8 : MutableByteArray
|
||||
483. builtin.MutableByteArray.write8 : MutableByteArray
|
||||
g
|
||||
-> Nat
|
||||
-> Nat
|
||||
->{g,
|
||||
Exception} ()
|
||||
483. builtin.Int.xor : Int
|
||||
484. builtin.Int.xor : Int
|
||||
-> Int
|
||||
-> Int
|
||||
484. builtin.Nat.xor : Nat
|
||||
485. builtin.Nat.xor : Nat
|
||||
-> Nat
|
||||
-> Nat
|
||||
|
||||
|
@ -59,17 +59,17 @@ y = 2
|
||||
most recent, along with the command that got us there. Try:
|
||||
|
||||
`fork 2 .old`
|
||||
`fork #momui2psqq .old` to make an old namespace
|
||||
`fork #9014t8bemk .old` to make an old namespace
|
||||
accessible again,
|
||||
|
||||
`reset-root #momui2psqq` to reset the root namespace and
|
||||
`reset-root #9014t8bemk` to reset the root namespace and
|
||||
its history to that of the
|
||||
specified namespace.
|
||||
|
||||
When Root Hash Action
|
||||
1. now #gea9reo4v8 add
|
||||
2. now #momui2psqq add
|
||||
3. now #5055be919q builtins.merge
|
||||
1. now #q24i9rm0u0 add
|
||||
2. now #9014t8bemk add
|
||||
3. now #2p31h4lsei builtins.merge
|
||||
4. #sg60bvjo91 history starts here
|
||||
|
||||
Tip: Use `diff.namespace 1 7` to compare namespaces between
|
||||
|
@ -13,7 +13,7 @@ Let's look at some examples. We'll start with a namespace with just the builtins
|
||||
|
||||
|
||||
|
||||
□ 1. #jj96fe1hif (start of history)
|
||||
□ 1. #5r75rvflum (start of history)
|
||||
|
||||
.> fork builtin builtin2
|
||||
|
||||
@ -42,21 +42,21 @@ Now suppose we `fork` a copy of builtin, then rename `Nat.+` to `frobnicate`, th
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ 1. #akqqraofi8
|
||||
⊙ 1. #ih7oa9qmee
|
||||
|
||||
> Moves:
|
||||
|
||||
Original name New name
|
||||
Nat.frobnicate Nat.+
|
||||
|
||||
⊙ 2. #jqtt4ku7e6
|
||||
⊙ 2. #2nsvr26oeu
|
||||
|
||||
> Moves:
|
||||
|
||||
Original name New name
|
||||
Nat.+ Nat.frobnicate
|
||||
|
||||
□ 3. #jj96fe1hif (start of history)
|
||||
□ 3. #5r75rvflum (start of history)
|
||||
|
||||
```
|
||||
If we merge that back into `builtin`, we get that same chain of history:
|
||||
@ -71,21 +71,21 @@ If we merge that back into `builtin`, we get that same chain of history:
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ 1. #akqqraofi8
|
||||
⊙ 1. #ih7oa9qmee
|
||||
|
||||
> Moves:
|
||||
|
||||
Original name New name
|
||||
Nat.frobnicate Nat.+
|
||||
|
||||
⊙ 2. #jqtt4ku7e6
|
||||
⊙ 2. #2nsvr26oeu
|
||||
|
||||
> Moves:
|
||||
|
||||
Original name New name
|
||||
Nat.+ Nat.frobnicate
|
||||
|
||||
□ 3. #jj96fe1hif (start of history)
|
||||
□ 3. #5r75rvflum (start of history)
|
||||
|
||||
```
|
||||
Let's try again, but using a `merge.squash` (or just `squash`) instead. The history will be unchanged:
|
||||
@ -106,7 +106,7 @@ Let's try again, but using a `merge.squash` (or just `squash`) instead. The hist
|
||||
|
||||
|
||||
|
||||
□ 1. #jj96fe1hif (start of history)
|
||||
□ 1. #5r75rvflum (start of history)
|
||||
|
||||
```
|
||||
The churn that happened in `mybuiltin` namespace ended up back in the same spot, so the squash merge of that namespace with our original namespace had no effect.
|
||||
@ -485,13 +485,13 @@ This checks to see that squashing correctly preserves deletions:
|
||||
Note: The most recent namespace hash is immediately below this
|
||||
message.
|
||||
|
||||
⊙ 1. #igp95kiubr
|
||||
⊙ 1. #65gt0djmn2
|
||||
|
||||
- Deletes:
|
||||
|
||||
Nat.* Nat.+
|
||||
|
||||
□ 2. #jj96fe1hif (start of history)
|
||||
□ 2. #5r75rvflum (start of history)
|
||||
|
||||
```
|
||||
Notice that `Nat.+` and `Nat.*` are deleted by the squash, and we see them deleted in one atomic step in the history.
|
||||
|
Loading…
Reference in New Issue
Block a user