aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/platform/compiler/meta/archive/key.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/lux/platform/compiler/meta/archive/key.lux')
-rw-r--r--stdlib/source/lux/platform/compiler/meta/archive/key.lux20
1 files changed, 20 insertions, 0 deletions
diff --git a/stdlib/source/lux/platform/compiler/meta/archive/key.lux b/stdlib/source/lux/platform/compiler/meta/archive/key.lux
new file mode 100644
index 000000000..50c10ac01
--- /dev/null
+++ b/stdlib/source/lux/platform/compiler/meta/archive/key.lux
@@ -0,0 +1,20 @@
+(.module:
+ [lux #*
+ [type
+ abstract]]
+ [//
+ [signature (#+ Signature)]])
+
+(abstract: #export (Key k)
+ {}
+
+ Signature
+
+ (def: #export signature
+ (-> (Key Any) Signature)
+ (|>> :representation))
+
+ (def: #export (key signature sample)
+ (All [d] (-> Signature d (Key d)))
+ (:abstraction signature))
+ )