diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2016-10-22 12:16:02 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2016-10-22 12:16:02 -0700 |
commit | e939023612da044098e649e1e77cacceb73c564d (patch) | |
tree | 065f3e158bfb78d97c12c0c4b435681e722fe7ba | |
parent | ada5eb55cb185edf30dcac48b25cc485d44677ef (diff) | |
download | mu-e939023612da044098e649e1e77cacceb73c564d.tar.gz |
3553
Tag all transforms as idempotent or not. I'd fallen off this wagon. I might even be getting it wrong. Something a type system should automatically verify.
-rw-r--r-- | 028call_reply.cc | 2 | ||||
-rw-r--r-- | 030container.cc | 4 | ||||
-rw-r--r-- | 031merge.cc | 2 | ||||
-rw-r--r-- | 036refcount.cc | 2 | ||||
-rw-r--r-- | 060rewrite_literal_string.cc | 2 | ||||
-rw-r--r-- | 062convert_ingredients_to_text.cc | 2 |
6 files changed, 7 insertions, 7 deletions
diff --git a/028call_reply.cc b/028call_reply.cc index 200c9f9d..ea853058 100644 --- a/028call_reply.cc +++ b/028call_reply.cc @@ -46,7 +46,7 @@ case RETURN: { //: Types in reply instructions are checked ahead of time. :(before "End Checks") -Transform.push_back(check_types_of_reply_instructions); +Transform.push_back(check_types_of_reply_instructions); // idempotent :(code) void check_types_of_reply_instructions(recipe_ordinal r) { const recipe& caller = get(Recipe, r); diff --git a/030container.cc b/030container.cc index 6abbbcc6..03e146ec 100644 --- a/030container.cc +++ b/030container.cc @@ -175,7 +175,7 @@ const type_tree* root_type(const type_tree* t) { //: also store a copy in each reagent in each instruction in each recipe :(after "End Type Modifying Transforms") -Transform.push_back(compute_container_sizes); +Transform.push_back(compute_container_sizes); // idempotent :(code) void compute_container_sizes(recipe_ordinal r) { recipe& caller = get(Recipe, r); @@ -820,7 +820,7 @@ def main [ +mem: storing 34 in location 2 :(after "Transform.push_back(expand_type_abbreviations)") -Transform.push_back(expand_type_abbreviations_in_containers); +Transform.push_back(expand_type_abbreviations_in_containers); // idempotent :(code) // extremely inefficient; we process all types over and over again, once for every single recipe // but it doesn't seem to cause any noticeable slowdown diff --git a/031merge.cc b/031merge.cc index 396a3160..d89ce2b0 100644 --- a/031merge.cc +++ b/031merge.cc @@ -110,7 +110,7 @@ struct merge_check_state { }; :(before "End Checks") -Transform.push_back(check_merge_calls); +Transform.push_back(check_merge_calls); // idempotent :(code) void check_merge_calls(const recipe_ordinal r) { const recipe& caller = get(Recipe, r); diff --git a/036refcount.cc b/036refcount.cc index 5deaa675..688a4682 100644 --- a/036refcount.cc +++ b/036refcount.cc @@ -281,7 +281,7 @@ bool operator<(const address_element_info& a, const address_element_info& b) { //: already knowing the sizes of all types :(after "Transform.push_back(compute_container_sizes)") -Transform.push_back(compute_container_address_offsets); +Transform.push_back(compute_container_address_offsets); // idempotent :(code) void compute_container_address_offsets(const recipe_ordinal r) { recipe& caller = get(Recipe, r); diff --git a/060rewrite_literal_string.cc b/060rewrite_literal_string.cc index e8e0bc5a..30699644 100644 --- a/060rewrite_literal_string.cc +++ b/060rewrite_literal_string.cc @@ -13,7 +13,7 @@ def foo x:text -> n:num [ :(before "End Instruction Inserting/Deleting Transforms") initialize_transform_rewrite_literal_string_to_text(); -Transform.push_back(rewrite_literal_string_to_text); +Transform.push_back(rewrite_literal_string_to_text); // idempotent :(before "End Globals") set<string> recipes_taking_literal_strings; diff --git a/062convert_ingredients_to_text.cc b/062convert_ingredients_to_text.cc index 43c459f5..c67b58c7 100644 --- a/062convert_ingredients_to_text.cc +++ b/062convert_ingredients_to_text.cc @@ -54,7 +54,7 @@ def bar -> x:foo [ //: misplaced; should be in instruction inserting/deleting transforms, but has //: prerequisites: deduce_types_from_header and check_or_set_types_by_name :(after "Transform.push_back(deduce_types_from_header)") -Transform.push_back(convert_ingredients_to_text); +Transform.push_back(convert_ingredients_to_text); // idempotent :(code) void convert_ingredients_to_text(recipe_ordinal r) { |