aboutsummaryrefslogtreecommitdiff
path: root/core.nom
diff options
context:
space:
mode:
authorBruce Hill <bitbucket@bruce-hill.com>2017-09-19 00:29:31 -0700
committerBruce Hill <bitbucket@bruce-hill.com>2017-09-19 00:29:31 -0700
commit0ee5b5888208dff29881869d9dc3595025b515c0 (patch)
tree22ea59b41a77f36afeec52633029d12ebcb772fd /core.nom
parent2c4acdfe67e05fba88d4c48509c8767d2dce358b (diff)
Buncha updates to the sample code and core lib.
Diffstat (limited to 'core.nom')
-rw-r--r--core.nom21
1 files changed, 21 insertions, 0 deletions
diff --git a/core.nom b/core.nom
index 0b0193b..54f728d 100644
--- a/core.nom
+++ b/core.nom
@@ -503,6 +503,19 @@ macro block:
|end
macro:
+ append %item to %list
+ add %item to %list
+..=:
+ ".."|table.insert(\%list as lua expr\, \%item as lua expr\)
+
+rule: flatten %lists ..=:
+ %flat =: []
+ for %list in %lists:
+ for %item in %list:
+ add %item to %flat
+ %flat
+
+macro:
%item is in %list
%list contains %item
..=:
@@ -521,6 +534,14 @@ rule: dict %items ..=:
lua block "vars.dict[vars.pair[1]] = vars.pair[2]"
return: %dict
+rule: entries in %dict ..=:
+ lua block ".."
+ |local items = {}
+ |for k,v in pairs(vars.dict) do
+ | table.insert(items, {key=k,value=v})
+ |end
+ |return items
+
# Permission functions
rule: restrict %fn to within %whitelist ..=:
lua block ".."