From dbe124108b7a3529feeeba91339928c4ac737072 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Tue, 23 Jun 2015 14:02:12 -0700 Subject: 1631 - update html versions Html is a little more readable thanks to feedback from J David Eisenberg (https://news.ycombinator.com/item?id=9766330), in particular the suggestion to use https://addons.mozilla.org/En-us/firefox/addon/wcag-contrast-checker. --- html/034exclusive_container.cc.html | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) (limited to 'html/034exclusive_container.cc.html') diff --git a/html/034exclusive_container.cc.html b/html/034exclusive_container.cc.html index 5dc88c30..cc6a0316 100644 --- a/html/034exclusive_container.cc.html +++ b/html/034exclusive_container.cc.html @@ -12,14 +12,14 @@ @@ -129,7 +129,7 @@ case MAYBE_CONVERT: { long long int base_address = base.value; type_number base_type = base.types.at(0); assert(Type[base_type].kind == exclusive_container); - assert(isa_literal(current_instruction().ingredients.at(1))); + assert(is_literal(current_instruction().ingredients.at(1))); long long int tag = current_instruction().ingredients.at(1).value; long long int result; if (tag == static_cast<long long int>(Memory[base_address])) { @@ -160,6 +160,23 @@ 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 -- cgit 1.4.1-2-gfad0