diff options
Diffstat (limited to 'rules')
-rw-r--r-- | rules/CC/RULES | 18 | ||||
-rw-r--r-- | rules/CC/proto/RULES | 18 | ||||
-rw-r--r-- | rules/EXPRESSIONS | 14 | ||||
-rw-r--r-- | rules/lint/RULES | 22 | ||||
-rw-r--r-- | rules/patch/RULES | 18 | ||||
-rw-r--r-- | rules/shell/RULES | 44 |
6 files changed, 45 insertions, 89 deletions
diff --git a/rules/CC/RULES b/rules/CC/RULES index 85c74563..0f1b0ff7 100644 --- a/rules/CC/RULES +++ b/rules/CC/RULES @@ -99,7 +99,6 @@ , "base-provides-++": "defaults-base-provides-++" , "base-provides-list": "defaults-base-provides-list" , "artifacts_list": ["./", "..", "field_artifacts_list"] - , "nub_left": ["", "nub_left"] , "compile-deps": "compile-deps" , "compile-args-deps": "compile-args-deps" , "link-deps": "link-deps" @@ -180,17 +179,14 @@ ] , ["provider", "PATH"] , [ "PATH" - , { "type": "++" + , { "type": "nub_left" , "$1": - [ {"type": "var", "name": "PATH"} - , {"type": "CALL_EXPRESSION", "name": "base-provides-++"} - ] - } - ] - , [ "PATH" - , { "type": "let*" - , "bindings": [["list", {"type": "var", "name": "PATH"}]] - , "body": {"type": "CALL_EXPRESSION", "name": "nub_left"} + { "type": "++" + , "$1": + [ {"type": "var", "name": "PATH"} + , {"type": "CALL_EXPRESSION", "name": "base-provides-++"} + ] + } } ] , ["provider", "ENV"] diff --git a/rules/CC/proto/RULES b/rules/CC/proto/RULES index 2e4b1d31..07b2dad8 100644 --- a/rules/CC/proto/RULES +++ b/rules/CC/proto/RULES @@ -83,7 +83,6 @@ , "base-provides-++": ["./", "..", "defaults-base-provides-++"] , "base-provides-list": ["./", "..", "defaults-base-provides-list"] , "artifacts_list": ["", "field_artifacts_list"] - , "nub_left": ["", "nub_left"] , "compile-deps": ["CC", "compile-deps"] , "compile-args-deps": ["CC", "compile-args-deps"] , "link-deps": ["CC", "link-deps"] @@ -137,17 +136,14 @@ ] , ["provider", "PATH"] , [ "PATH" - , { "type": "++" + , { "type": "nub_left" , "$1": - [ {"type": "var", "name": "PATH"} - , {"type": "CALL_EXPRESSION", "name": "base-provides-++"} - ] - } - ] - , [ "PATH" - , { "type": "let*" - , "bindings": [["list", {"type": "var", "name": "PATH"}]] - , "body": {"type": "CALL_EXPRESSION", "name": "nub_left"} + { "type": "++" + , "$1": + [ {"type": "var", "name": "PATH"} + , {"type": "CALL_EXPRESSION", "name": "base-provides-++"} + ] + } } ] , ["provider", "ENV"] diff --git a/rules/EXPRESSIONS b/rules/EXPRESSIONS index 52a381fb..b974026e 100644 --- a/rules/EXPRESSIONS +++ b/rules/EXPRESSIONS @@ -226,18 +226,4 @@ } } } -, "nub_left": - { "doc": ["Removes all but the leftmost duplicate from the list."] - , "vars": ["list"] - , "vars_doc": {"list": ["The list to remove duplicates from."]} - , "expression": - { "type": "let*" - , "bindings": - [ ["list", {"type": "reverse", "$1": {"type": "var", "name": "list"}}] - , ["list", {"type": "nub_right", "$1": {"type": "var", "name": "list"}}] - , ["list", {"type": "reverse", "$1": {"type": "var", "name": "list"}}] - ] - , "body": {"type": "var", "name": "list"} - } - } } diff --git a/rules/lint/RULES b/rules/lint/RULES index e1000d9e..0fba1271 100644 --- a/rules/lint/RULES +++ b/rules/lint/RULES @@ -21,23 +21,17 @@ { "type": "let*" , "bindings": [ [ "PATH" - , { "type": "reverse" + , { "type": "nub_left" , "$1": - { "type": "nub_right" + { "type": "++" , "$1": - { "type": "reverse" - , "$1": - { "type": "++" - , "$1": - [ {"type": "FIELD", "name": "PATH"} - , { "type": "let*" - , "bindings": [["provider", "PATH"]] - , "body": - {"type": "CALL_EXPRESSION", "name": "base-provides-++"} - } - ] + [ {"type": "FIELD", "name": "PATH"} + , { "type": "let*" + , "bindings": [["provider", "PATH"]] + , "body": + {"type": "CALL_EXPRESSION", "name": "base-provides-++"} } - } + ] } } ] diff --git a/rules/patch/RULES b/rules/patch/RULES index c55de588..ea495f07 100644 --- a/rules/patch/RULES +++ b/rules/patch/RULES @@ -32,7 +32,6 @@ , "base-provides-++": ["CC", "defaults-base-provides-++"] , "base-provides-list": ["CC", "defaults-base-provides-list"] , "artifacts_list": ["", "field_artifacts_list"] - , "nub_left": ["", "nub_left"] , "for host": ["transitions", "for host"] } , "config_transitions": @@ -52,17 +51,14 @@ ] , ["provider", "PATH"] , [ "PATH" - , { "type": "++" + , { "type": "nub_left" , "$1": - [ {"type": "var", "name": "PATH"} - , {"type": "CALL_EXPRESSION", "name": "base-provides-++"} - ] - } - ] - , [ "PATH" - , { "type": "let*" - , "bindings": [["list", {"type": "var", "name": "PATH"}]] - , "body": {"type": "CALL_EXPRESSION", "name": "nub_left"} + { "type": "++" + , "$1": + [ {"type": "var", "name": "PATH"} + , {"type": "CALL_EXPRESSION", "name": "base-provides-++"} + ] + } } ] , ["provider", "ENV"] diff --git a/rules/shell/RULES b/rules/shell/RULES index 5ac07e68..b9e91bbd 100644 --- a/rules/shell/RULES +++ b/rules/shell/RULES @@ -116,44 +116,32 @@ } ] , [ "PATH" - , { "type": "reverse" + , { "type": "nub_left" , "$1": - { "type": "nub_right" + { "type": "++" , "$1": - { "type": "reverse" - , "$1": - { "type": "++" - , "$1": - [ {"type": "FIELD", "name": "PATH"} - , { "type": "let*" - , "bindings": [["provider", "PATH"]] - , "body": - {"type": "CALL_EXPRESSION", "name": "base-provides-++"} - } - ] + [ {"type": "FIELD", "name": "PATH"} + , { "type": "let*" + , "bindings": [["provider", "PATH"]] + , "body": + {"type": "CALL_EXPRESSION", "name": "base-provides-++"} } - } + ] } } ] , [ "bin dirs" - , { "type": "reverse" + , { "type": "nub_left" , "$1": - { "type": "nub_right" + { "type": "++" , "$1": - { "type": "reverse" - , "$1": - { "type": "++" - , "$1": - [ {"type": "FIELD", "name": "bin dirs"} - , { "type": "let*" - , "bindings": [["provider", "bin dirs"]] - , "body": - {"type": "CALL_EXPRESSION", "name": "base-provides-++"} - } - ] + [ {"type": "FIELD", "name": "bin dirs"} + , { "type": "let*" + , "bindings": [["provider", "bin dirs"]] + , "body": + {"type": "CALL_EXPRESSION", "name": "base-provides-++"} } - } + ] } } ] |