diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/lux/platform/compiler/meta/archive/document.lux | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/stdlib/source/lux/platform/compiler/meta/archive/document.lux b/stdlib/source/lux/platform/compiler/meta/archive/document.lux index b99ff9b72..5c077080f 100644 --- a/stdlib/source/lux/platform/compiler/meta/archive/document.lux +++ b/stdlib/source/lux/platform/compiler/meta/archive/document.lux @@ -11,25 +11,23 @@ [// ["." signature (#+ Signature)] ["." key (#+ Key)] - ["." descriptor (#+ Module Descriptor)]]) + [descriptor (#+ Module)]]) ## Document -(exception: #export (invalid-signature {module Module} {expected Signature} {actual Signature}) - (ex.report ["Module" module] - ["Expected" (signature.description expected)] +(exception: #export (invalid-signature {expected Signature} {actual Signature}) + (ex.report ["Expected" (signature.description expected)] ["Actual" (signature.description actual)])) (abstract: #export (Document d) {} {#signature Signature - #descriptor Descriptor #content d} (def: #export (read key document) (All [d] (-> (Key d) (Document Any) (Error d))) - (let [[document//signature document//descriptor document//content] (:representation document)] - (if (:: signature.Equivalence<Signature> = + (let [[document//signature document//content] (:representation document)] + (if (:: signature.equivalence = (key.signature key) document//signature) (#error.Success (:share [e] @@ -37,14 +35,12 @@ key} {e document//content})) - (ex.throw invalid-signature [(get@ #descriptor.name document//descriptor) - (key.signature key) + (ex.throw invalid-signature [(key.signature key) document//signature])))) - (def: #export (write key descriptor content) - (All [d] (-> (Key d) Descriptor d (Document d))) + (def: #export (write key content) + (All [d] (-> (Key d) d (Document d))) (:abstraction {#signature (key.signature key) - #descriptor descriptor #content content})) (def: #export signature |