aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/compiler/meta/archive/signature.lux
diff options
context:
space:
mode:
authorEduardo Julian2018-10-27 16:20:28 -0400
committerEduardo Julian2018-10-27 16:20:28 -0400
commitb69f947fced8f4bb7fc4acb6e8e4cc76ea2fa1ee (patch)
tree1408dd06d22e5dd00de35ebe02a18392453bad08 /stdlib/source/lux/compiler/meta/archive/signature.lux
parent04c93d1d1c0f1c2fe85c0283e6903609406f3e20 (diff)
Split-out the lux/compiler/meta/archive module.
Diffstat (limited to '')
-rw-r--r--stdlib/source/lux/compiler/meta/archive/signature.lux23
1 files changed, 23 insertions, 0 deletions
diff --git a/stdlib/source/lux/compiler/meta/archive/signature.lux b/stdlib/source/lux/compiler/meta/archive/signature.lux
new file mode 100644
index 000000000..5332b79c3
--- /dev/null
+++ b/stdlib/source/lux/compiler/meta/archive/signature.lux
@@ -0,0 +1,23 @@
+(.module:
+ [lux #*
+ [control
+ ["." equivalence (#+ Equivalence)]]
+ [data
+ ["." name]
+ ["." text
+ format]]]
+ [////
+ [default (#+ Version)]])
+
+## Key
+(type: #export Signature
+ {#name Name
+ #version Version})
+
+(def: #export Equivalence<Signature>
+ (Equivalence Signature)
+ (equivalence.product name.Equivalence<Name> text.Equivalence<Text>))
+
+(def: #export (description signature)
+ (-> Signature Text)
+ (format (%name (get@ #name signature)) " " (get@ #version signature)))