aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/tool/compiler/meta/archive
diff options
context:
space:
mode:
authorEduardo Julian2020-04-16 00:22:24 -0400
committerEduardo Julian2020-04-16 00:22:24 -0400
commit1888b5c3288e4e7653a424e7314ea5c8277ab360 (patch)
treea40768d314bc610f9c17446d86e33eba44d5e6c8 /stdlib/source/lux/tool/compiler/meta/archive
parent4f1553c6f6bb579f09749d5b9ca955c43a7440a4 (diff)
Generating definition names in a new way.
Diffstat (limited to 'stdlib/source/lux/tool/compiler/meta/archive')
-rw-r--r--stdlib/source/lux/tool/compiler/meta/archive/artifact.lux10
1 files changed, 10 insertions, 0 deletions
diff --git a/stdlib/source/lux/tool/compiler/meta/archive/artifact.lux b/stdlib/source/lux/tool/compiler/meta/archive/artifact.lux
index 534749ace..256c10a22 100644
--- a/stdlib/source/lux/tool/compiler/meta/archive/artifact.lux
+++ b/stdlib/source/lux/tool/compiler/meta/archive/artifact.lux
@@ -3,6 +3,7 @@
[data
["." text]
[collection
+ ["." list]
["." row (#+ Row)]
["." dictionary (#+ Dictionary)]]]
[type
@@ -46,8 +47,17 @@
(update@ #next inc)
(update@ #artifacts (row.add {#id id
#name (#.Some name)}))
+ (update@ #resolver (dictionary.put name id))
:abstraction)]))
+ (def: #export (definitions registry)
+ (-> Registry (List Text))
+ (|> registry
+ :representation
+ (get@ #artifacts)
+ row.to-list
+ (list.search-all (get@ #name))))
+
(def: #export (remember name registry)
(-> Text Registry (Maybe ID))
(|> (:representation registry)