about summary refs log tree commit diff stats
path: root/033exclusive_container.cc
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2016-03-08 01:30:14 -0800
committerKartik K. Agaram <vc@akkartik.com>2016-03-08 01:46:47 -0800
commit1ead356219bb2eb59487d1012f837bd07ec336f5 (patch)
treeaf15f390b81e4d6b3e0940c5756a0d7fd1060bb5 /033exclusive_container.cc
parent27ba0937a3747684f299bb7a8b3cdd0fbb689db3 (diff)
downloadmu-1ead356219bb2eb59487d1012f837bd07ec336f5.tar.gz
2735 - define recipes using 'def'
I'm dropping all mention of 'recipe' terminology from the Readme. That
way I hope to avoid further bike-shedding discussions while I very
slowly decide on the right terminology with my students.

I could be smarter in my error messages and use 'recipe' when code uses
it and 'function' otherwise. But what about other words like ingredient?
It would all add complexity that I'm not yet sure is worthwhile. But I
do want separate experiences for veteran programmers reading about Mu on
github and for people learning programming using Mu.
Diffstat (limited to '033exclusive_container.cc')
-rw-r--r--033exclusive_container.cc26
1 files changed, 13 insertions, 13 deletions
diff --git a/033exclusive_container.cc b/033exclusive_container.cc
index f8e0e876..cc1922c2 100644
--- a/033exclusive_container.cc
+++ b/033exclusive_container.cc
@@ -20,7 +20,7 @@ get(Type, tmp).elements.push_back(reagent("p:point"));
 //: avoid errors.
 :(scenario copy_exclusive_container)
 # Copying exclusive containers copies all their contents and an extra location for the tag.
-recipe main [
+def main [
   1:number <- copy 1  # 'point' variant
   2:number <- copy 34
   3:number <- copy 35
@@ -56,7 +56,7 @@ if (t.kind == EXCLUSIVE_CONTAINER) {
 put(Type_ordinal, "variant", 0);
 
 :(scenario maybe_convert)
-recipe main [
+def main [
   12:number <- copy 1
   13:number <- copy 35
   14:number <- copy 36
@@ -65,7 +65,7 @@ recipe main [
 +mem: storing 13 in location 20
 
 :(scenario maybe_convert_fail)
-recipe main [
+def main [
   12:number <- copy 1
   13:number <- copy 35
   14:number <- copy 36
@@ -147,7 +147,7 @@ const reagent variant_type(const reagent& canonized_base, long long int tag) {
 
 :(scenario maybe_convert_product_type_mismatch)
 % Hide_errors = true;
-recipe main [
+def main [
   12:number <- copy 1
   13:number <- copy 35
   14:number <- copy 36
@@ -194,7 +194,7 @@ exclusive-container foo [
   y:number
 ]
 
-recipe main [
+def main [
   1:number <- copy 34
   2:foo <- merge 0/x, 1:number  # tag must be a literal when merging exclusive containers
   4:foo <- merge 1/y, 1:number
@@ -214,7 +214,7 @@ exclusive-container foo [
 container bar [
   z:number
 ]
-recipe main [
+def main [
   1:foo <- merge 0/x, 34
 ]
 +mem: storing 0 in location 1
@@ -230,7 +230,7 @@ exclusive-container foo [
 container bar [
   z:number
 ]
-recipe main [
+def main [
   local-scope
   1:number <- copy 0
   2:foo <- merge 1:number, 34
@@ -269,7 +269,7 @@ exclusive-container bar [
   x:number
   y:number
 ]
-recipe main [
+def main [
   1:foo <- merge 23, 1/y, 34
 ]
 +mem: storing 23 in location 1
@@ -287,7 +287,7 @@ exclusive-container bar [
   x:number
   y:number
 ]
-recipe main [
+def main [
   1:foo <- merge 23, 1/y, 34, 35
 ]
 +error: main: too many ingredients in '1:foo <- merge 23, 1/y, 34, 35'
@@ -301,7 +301,7 @@ container bar [
   x:number
   y:number
 ]
-recipe main [
+def main [
   1:foo <- merge 1/y, 23, 34
 ]
 +mem: storing 1 in location 1
@@ -318,7 +318,7 @@ container bar [
   x:number
   y:number
 ]
-recipe main [
+def main [
   1:foo <- merge 0/x, 23
 ]
 $error: 0
@@ -333,7 +333,7 @@ container bar [
   x:number
   y:number
 ]
-recipe main [
+def main [
   1:foo <- merge 1/y, 23
 ]
 +error: main: too few ingredients in '1:foo <- merge 1/y, 23'
@@ -362,7 +362,7 @@ exclusive-container bar [
   y:foo
 ]
 
-recipe main [
+def main [
   1:number <- copy 34
   2:number <- copy 35
   3:bar <- merge 0/x, 1:number