@@ -516,12 +516,12 @@ We can remove all these handles using `$a = NULL` and `$b = NULL`:
516516```
517517[VSlot $a *]-->[VStore null] [HStore Point [VSlot $x *] [VSlot $y *] (dead)]
518518 | |
519- [VSlot $b *]-->[VStore null] [VStore int 2 (dead)]< --+ V
519+ [VSlot $b *]-->[VStore null] [VStore int 2 (dead)]< --+ V
520520 [VStore int 1 (dead)]
521521
522522 [HStore Point [VSlot $x *] [VSlot $y *] (dead)]
523523 | |
524- [VStore int 4 (dead)]< --+ V
524+ [VStore int 4 (dead)]< --+ V
525525 [VStore int 6 (dead)]
526526```
527527
@@ -750,7 +750,7 @@ assignment of other types. Recall the `Point` class from [the examples](#value-a
750750 V V
751751 [VStore int 10] [VStore Obj *]
752752 |
753- [HStore Point [VSlot $x *] [VSlot $y *]]< ----+
753+ [HStore Point [VSlot $x *] [VSlot $y *]]< ----+
754754 | |
755755 V V
756756 [VStore int 1] [VStore int 3]
@@ -782,7 +782,7 @@ the value assignment `$b = $a`:
782782 | | |
783783 +---------+ +---------+ |
784784 V V |
785- [VStore int 10] [VStore object *]-->[HStore Point [VSlot $x *] [VSlot $y *]]< ---+
785+ [VStore int 10] [VStore object *]-->[HStore Point [VSlot $x *] [VSlot $y *]]< ---+
786786 | |
787787 V V
788788 [VStore int 1] [VStore int 3]
@@ -830,7 +830,7 @@ implementation. Here is the first possible outcome:
830830```
831831[VSlot $a *]---->[VStore array *]---->[HStore Array [VSlot 0 *]]
832832 |
833- [VSlot $x *]-------------------------+ [VStore array *]< ---+
833+ [VSlot $x *]-------------------------+ [VStore array *]< ---+
834834 | |
835835[VSlot $b *]-->[VStore array *] | V
836836 | | [HStore Array [VSlot 0 *][VSlot 1 *]]
@@ -852,7 +852,7 @@ Here is the second possible outcome:
852852```
853853[VSlot $a *]---->[VStore array *]---->[HStore Array [VSlot 0 *]]
854854 |
855- [VSlot $x *]-------------------------+ [VStore array *]< ----+
855+ [VSlot $x *]-------------------------+ [VStore array *]< ----+
856856 | |
857857[VSlot $b *]-->[VStore array *] | V
858858 | | [HStore Array [VSlot 0 *] [VSlot 1 *]]
@@ -939,7 +939,7 @@ $b = $a;
939939```
940940[VSlot $a *]--->[VStore array *]--->[HStore Array [VSlot 0 *]]
941941 ^ |
942- | [VStore array *]< --+
942+ | [VStore array *]< --+
943943[VSlot $b *]--->[VStore Arr-D *]------+ |
944944 V
945945 [HStore Array [VSlot 0 *] [VSlot 1 *]]
@@ -1036,7 +1036,7 @@ possible outcome:
10361036```
10371037[VSlot $a *]---->[VStore array *]---->[HStore Array [VSlot 0 *]]
10381038 |
1039- [VSlot $b *]-->[VStore array *] [VStore array *]< ---+
1039+ [VSlot $b *]-->[VStore array *] [VStore array *]< ---+
10401040 | |
10411041 V V
10421042 [HStore Array [VSlot 0 *] [VSlot 1 *]] [HStore Array [VSlot 0 *] [VSlot 1 *]]
@@ -1057,8 +1057,8 @@ Here is the third possible outcome:
10571057
10581058```
10591059[VSlot $a *]---->[VStore array *-]---->[HStore Array [VSlot 0 *]]
1060- |
1061- [VSlot $b *]-->[VStore array *] [VStore array *]< ---+
1060+ |
1061+ [VSlot $b *]-->[VStore array *] [VStore array *]< ---+
10621062 | |
10631063 V V
10641064 [HStore Array [VSlot 0 *] [VSlot 1 *]] [HStore Array [VSlot 0 *] [VSlot 1 *]]
@@ -1204,7 +1204,7 @@ Will result in:
12041204 | | |
12051205 V V |
12061206 [VStore int 1] [VStore int 3] |
1207- [VSlot $b *]---------------->[VStore int 123]< ---------------------------------------+
1207+ [VSlot $b *]---------------->[VStore int 123]< ---------------------------------------+
12081208```
12091209
12101210### Argument Passing
@@ -1267,7 +1267,7 @@ some type(s) or to an instance of some other type.
12671267 V V
12681268 [VStore int 10] [VStore object *]
12691269 |
1270- [HStore ...]< ---------+
1270+ [HStore ...]< ---------+
12711271```
12721272
12731273Let us consider the result of ` $b = clone $a ` :
@@ -1279,7 +1279,7 @@ Let us consider the result of `$b = clone $a`:
12791279 | [VStore int 10] [VStore object *]
12801280 +-----------------------+ |
12811281 V |
1282- [HStore Widget [VSlot $p1 *] [VSlot $p2 *]] +--->[HStore ...]< -+
1282+ [HStore Widget [VSlot $p1 *] [VSlot $p2 *]] +--->[HStore ...]< -+
12831283 | | |
12841284 V V |
12851285 [VStore int 10] [VStore object *]----------+
0 commit comments