aboutsummaryrefslogtreecommitdiff
path: root/lib/core/collections.nom
diff options
context:
space:
mode:
Diffstat (limited to 'lib/core/collections.nom')
-rw-r--r--lib/core/collections.nom62
1 files changed, 25 insertions, 37 deletions
diff --git a/lib/core/collections.nom b/lib/core/collections.nom
index 4cf54cd..dbe6900 100644
--- a/lib/core/collections.nom
+++ b/lib/core/collections.nom
@@ -1,4 +1,4 @@
-#!/usr/bin/env nomsu -V6.14
+#!/usr/bin/env nomsu -V6.15.13.8
#
This file contains code that supports manipulating and using collections like lists
and dictionaries.
@@ -45,19 +45,6 @@ test:
assume ({.x = 1, .y = 1} ~ {.y = 10, .z = 10}) == {.x = 1, .z = 10}
test:
- assume (([[1, 2], [3, 4]] flattened) == [1, 2, 3, 4])
-
-externally ($lists flattened) means:
- $flat = []
- for $item in recursive $lists:
- if ($item is a "List"):
- for $ in $item:
- recurse $item on $
- ..else:
- $flat, add $item
- return $flat
-
-test:
assume ((entries in {.x = 1}) == [{.key = "x", .value = 1}])
(entries in $dict) parses as [
@@ -118,28 +105,29 @@ test:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-test:
- assume ((sorted [3, 1, 2]) == [1, 2, 3])
-
-externally [$items sorted, sorted $items] all mean:
- $copy = [: for $ in $items: add $]
- sort $copy
- return $copy
-
-[$items sorted by $item = $key, $items sorted by $item -> $key] all parse as
- result of:
+external:
+ test:
+ assume ((sorted [3, 1, 2]) == [1, 2, 3])
+
+ [$items sorted, sorted $items] all mean:
$copy = [: for $ in $items: add $]
- sort $copy by $item = $key
+ sort $copy
return $copy
-
-test:
- assume ((unique [1, 2, 1, 3, 2, 3]) == [1, 2, 3])
-
-externally (unique $items) means:
- $unique = []
- $seen = {}
- for $ in $items:
- unless $seen.$:
- $unique, add $
- $seen.$ = (yes)
- return $unique
+
+ [$items sorted by $item = $key, $items sorted by $item -> $key] all parse as
+ result of:
+ $copy = [: for $ in $items: add $]
+ sort $copy by $item = $key
+ return $copy
+
+ test:
+ assume ((unique [1, 2, 1, 3, 2, 3]) == [1, 2, 3])
+
+ (unique $items) means:
+ $unique = []
+ $seen = {}
+ for $ in $items:
+ unless $seen.$:
+ $unique, add $
+ $seen.$ = (yes)
+ return $unique