Transcript updates

This commit is contained in:
Dan Doel 2023-01-23 15:37:54 -05:00
parent 03474ac2b0
commit 3d553b3048
9 changed files with 1176 additions and 1167 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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)

View File

@ -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.

View File

@ -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`.

View File

@ -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
```

View File

@ -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

View File

@ -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

View File

@ -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.