aboutsummaryrefslogtreecommitdiff
path: root/core/math.nom
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2018-09-26 12:45:08 -0700
committerBruce Hill <bruce@bruce-hill.com>2018-09-26 12:45:19 -0700
commit692fae5416ce1f2702b599ffb27b2e3d2235eba7 (patch)
tree12ae256ef5606251bc013935390fdef7e737d79d /core/math.nom
parent28d0792e69bbb9c467c616eb3dc89a60085c35f2 (diff)
Incremental fixes and more nomnom ports.
Diffstat (limited to 'core/math.nom')
-rw-r--r--core/math.nom26
1 files changed, 26 insertions, 0 deletions
diff --git a/core/math.nom b/core/math.nom
index d6ddbce..5daa2d8 100644
--- a/core/math.nom
+++ b/core/math.nom
@@ -89,6 +89,32 @@ compile [sum of %items, sum %items] to:
%clauses = ((% as lua expr) for % in %items)
return (Lua value "(\(%clauses::joined with " + "))")
+parse [if all of %items %body, if all of %items then %body] as (..)
+ if (all of %items) %body
+parse [unless all of %items %body, unless all of %items then %body] as (..)
+ if (not (all of %items)) %body
+parse [if any of %items %body, if any of %items then %body] as (..)
+ if (any of %items) %body
+parse [unless any of %items %body, unless any of %items then %body] as (..)
+ if (not (any of %items)) %body
+parse [if none of %items %body, if none of %items then %body] as (..)
+ if (not (any of %items)) %body
+parse [unless none of %items %body, unless none of %items then %body] as (..)
+ if (any of %items) %body
+
+parse [if all of %items %body else %else, if all of %items then %body else %else] as (..)
+ if (all of %items) %body else %else
+parse [unless all of %items %body else %else, unless all of %items then %body else %else] as (..)
+ if (not (all of %items)) %body else %else
+parse [if any of %items %body else %else, if any of %items then %body else %else] as (..)
+ if (any of %items) %body else %else
+parse [unless any of %items %body else %else, unless any of %items then %body else %else] as (..)
+ if (not (any of %items)) %body else %else
+parse [if none of %items %body else %else, if none of %items then %body else %else] as (..)
+ if (not (any of %items)) %body else %else
+parse [unless none of %items %body else %else, unless none of %items then %body else %else] as (..)
+ if (any of %items) %body else %else
+
compile [product of %items, product %items] to:
unless (%items.type is "List"):
return (Lua value "utils.product(\(%items as lua expr))")