about summary refs log tree commit diff stats
path: root/034exclusive_container.cc
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-06-23 12:05:18 -0700
committerKartik K. Agaram <vc@akkartik.com>2015-06-23 12:05:18 -0700
commit02a55f7183f1497284accb3b89abab4a103d6e68 (patch)
tree7769c96d5be8f0e86b4ce16b709038fed940c647 /034exclusive_container.cc
parent4938a720b31ebaf49a33b4c3ba1d7b772b7c6592 (diff)
downloadmu-02a55f7183f1497284accb3b89abab4a103d6e68.tar.gz
1629 - new helper for constructing containers
Diffstat (limited to '034exclusive_container.cc')
-rw-r--r--034exclusive_container.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/034exclusive_container.cc b/034exclusive_container.cc
index 7455cf30..08aaf3f7 100644
--- a/034exclusive_container.cc
+++ b/034exclusive_container.cc
@@ -126,3 +126,20 @@ exclusive-container foo [
 else if (command == "exclusive-container") {
   insert_container(command, exclusive_container, in);
 }
+
+//:: To construct exclusive containers out of variant types, use 'merge'.
+:(scenario lift_to_exclusive_container)
+exclusive-container foo [
+  x:number
+  y:number
+]
+
+recipe main [
+  1:number <- copy 34:literal
+  2:foo <- merge 0:literal/x, 1:number
+  4:foo <- merge 1:literal/x, 1:number
+]
++mem: storing 0 in location 2
++mem: storing 34 in location 3
++mem: storing 1 in location 4
++mem: storing 34 in location 5