aboutsummaryrefslogtreecommitdiff
path: root/lib/collections.nom
diff options
context:
space:
mode:
authorBruce Hill <bitbucket@bruce-hill.com>2018-01-11 03:32:12 -0800
committerBruce Hill <bitbucket@bruce-hill.com>2018-01-11 03:32:12 -0800
commit9d8c7014416b6cffae66497b1c923f862fe6aa1a (patch)
tree27e0c27cf673ebbf0d926a8f2c89de5624965369 /lib/collections.nom
parentbfe66a70e6fb4ac20253f6d5fb85946ef14ecbc6 (diff)
Added "%'s id" to use UUIDs and changed "% = %" to "set % = %" and some
other misc.
Diffstat (limited to 'lib/collections.nom')
-rw-r--r--lib/collections.nom22
1 files changed, 6 insertions, 16 deletions
diff --git a/lib/collections.nom b/lib/collections.nom
index 3d87924..fb66468 100644
--- a/lib/collections.nom
+++ b/lib/collections.nom
@@ -48,7 +48,7 @@ compile [length of %list, size of %list, size %list, number of %list, len %list]
compile [%list ->* %indices] to:
assert ((%indices's "type") == "List") ".."
Expected List for chained lookup, not \(%indices's "type")
- %ret = "\(%list as lua)"
+ set %ret = "\(%list as lua)"
for %index in (%indices's "value"):
%ret join= "[\(%index as lua)]"
return "\%ret"
@@ -72,33 +72,23 @@ compile [remove index %index from %list] to:
action [flatten %lists]:
- %flat = []
+ set %flat = []
for %list in %lists:
for %item in %list:
add %item to %flat
return %flat
action [dict %items]:
- %dict = []
- for %pair in %items:
- %dict -> (%pair -> 1) = (%pair -> 2)
- return %dict
+ {(%->1)=(%->2) for all %items}
action [entries in %dict]:
- %entries = []
- for %k = %v in %dict:
- add {key=%k, value=%v} to %entries
- return %entries
+ [{key=%k, value=%v} for %k=%v in %dict]
action [keys in %dict]:
- %keys = []
- for %k = %v in %dict: add %k to %keys
- return %keys
+ [%k for %k=%v in %dict]
action [values in %dict]:
- %values = []
- for %k = %v in %dict: add %v to %values
- return %values
+ [%v for %k=%v in %dict]
# List Comprehension
compile [%expression for %item in %iterable] to: