aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/aedifex/artifact/snapshot
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/program/aedifex/artifact/snapshot')
-rw-r--r--stdlib/source/program/aedifex/artifact/snapshot/stamp.lux19
1 files changed, 12 insertions, 7 deletions
diff --git a/stdlib/source/program/aedifex/artifact/snapshot/stamp.lux b/stdlib/source/program/aedifex/artifact/snapshot/stamp.lux
index c1efcc8ee..ca59b11a6 100644
--- a/stdlib/source/program/aedifex/artifact/snapshot/stamp.lux
+++ b/stdlib/source/program/aedifex/artifact/snapshot/stamp.lux
@@ -1,11 +1,16 @@
(.module:
[lux #*
[abstract
- [equivalence (#+ Equivalence)]]
+ [equivalence (#+ Equivalence)]
+ [monad (#+ do)]]
+ [control
+ ["<>" parser
+ ["<.>" xml (#+ Parser)]
+ ["<.>" text]]]
[data
["." product]
[format
- [xml (#+ XML)]]]]
+ ["." xml (#+ XML)]]]]
["." // #_
["#." time (#+ Time)]
["#." build (#+ Build)]])
@@ -21,22 +26,22 @@
//build.equivalence
))
+(def: <timestamp>
+ xml.Tag
+ ["" "timestamp"])
+
(def: time_format
(-> Time XML)
(|>> //time.format
#xml.Text
list
- (#xml.Node ..tag xml.attributes)))
+ (#xml.Node ..<timestamp> xml.attributes)))
(def: #export (format (^slots [#time #build]))
(-> Stamp (List XML))
(list (..time_format time)
(//build.format build)))
-(def: <timestamp>
- xml.Tag
- ["" "timestamp"])
-
## (exception: #export (mismatch {expected Instant} {actual Instant})
## (exception.report
## ["Expected" (%.instant expected)]