about summary refs log tree commit diff stats
path: root/cpp/.traces/convert_names_transforms_container_elements
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-04-16 10:35:49 -0700
committerKartik K. Agaram <vc@akkartik.com>2015-04-16 10:35:49 -0700
commitdb5c9550e972d114aaabb95b14cfd1e3ea185349 (patch)
tree9217134d1154e45f5375f94c9b5788530fbf8cb7 /cpp/.traces/convert_names_transforms_container_elements
parentd6852155e5308e2bb347402bf9e069c7153c2319 (diff)
downloadmu-db5c9550e972d114aaabb95b14cfd1e3ea185349.tar.gz
1069 - rename record/field to container/element
This seems more obvious to laypeople.

I've also come up with a design for sum types: I'm going to call them
exclusive containers. You call 'get' on containers, 'index' on arrays,
and 'maybe-convert' on exclusive containers (as well as tagged types,
but that's even later).
Diffstat (limited to 'cpp/.traces/convert_names_transforms_container_elements')
-rw-r--r--cpp/.traces/convert_names_transforms_container_elements31
1 files changed, 31 insertions, 0 deletions
diff --git a/cpp/.traces/convert_names_transforms_container_elements b/cpp/.traces/convert_names_transforms_container_elements
new file mode 100644
index 00000000..0dd4f7e8
--- /dev/null
+++ b/cpp/.traces/convert_names_transforms_container_elements
@@ -0,0 +1,31 @@
+parse/0: instruction: 18
+parse/0:   ingredient: {name: "0", value: 0, type: 6, properties: ["0": "point"]}
+parse/0:   ingredient: {name: "y", value: 0, type: 0, properties: ["y": "offset"]}
+parse/0:   product: {name: "a", value: 0, type: 1, properties: ["a": "integer"]}
+parse/0: instruction: 18
+parse/0:   ingredient: {name: "0", value: 0, type: 6, properties: ["0": "point"]}
+parse/0:   ingredient: {name: "x", value: 0, type: 0, properties: ["x": "offset"]}
+parse/0:   product: {name: "b", value: 0, type: 1, properties: ["b": "integer"]}
+name/0: element y of type point is at offset 1
+name/0: assign a 1
+name/0: element x of type point is at offset 0
+name/0: assign b 2
+after-brace/0: recipe main
+after-brace/0: get ...
+after-brace/0: get ...
+run/0: instruction main/0
+run/0: ingredient 0 is 0
+run/0: ingredient 1 is y
+run/0: address to copy is 1
+run/0: its type is 1
+mem/0: location 1 is 0
+run/0: product 0 is 0
+mem/0: storing 0 in location 1
+run/0: instruction main/1
+run/0: ingredient 0 is 0
+run/0: ingredient 1 is x
+run/0: address to copy is 0
+run/0: its type is 1
+mem/0: location 0 is 0
+run/0: product 0 is 0
+mem/0: storing 0 in location 2