diff options
Diffstat (limited to 'rules/CC/auto/EXPRESSIONS')
-rw-r--r-- | rules/CC/auto/EXPRESSIONS | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/rules/CC/auto/EXPRESSIONS b/rules/CC/auto/EXPRESSIONS new file mode 100644 index 0000000..ac19f7a --- /dev/null +++ b/rules/CC/auto/EXPRESSIONS @@ -0,0 +1,32 @@ +{ "last_list_entry": + { "vars": ["list"] + , "expression": + { "type": "foldl" + , "range": {"type": "var", "name": "list"} + , "start": null + , "body": {"type": "var", "name": "_"} + } + } +, "first_list_entry": + { "vars": ["list"] + , "imports": {"last": "last_list_entry"} + , "expression": + { "type": "let*" + , "bindings": + [ [ "list" + , { "type": "foldl" + , "range": {"type": "var", "name": "list", "default": []} + , "start": null + , "body": + { "type": "if" + , "cond": {"type": "var", "name": "$1"} + , "then": {"type": "var", "name": "$1"} + , "else": [{"type": "var", "name": "_"}] + } + } + ] + ] + , "body": {"type": "CALL_EXPRESSION", "name": "last"} + } + } +} |