From 3d457763e34d4dd1992427b3918b351ac684adb7 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Mon, 1 Feb 2021 04:59:32 -0400 Subject: Improved compilation of loops and pattern-matching for Python. --- .../aedifex/artifact/snapshot/version/value.lux | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 stdlib/source/program/aedifex/artifact/snapshot/version/value.lux (limited to 'stdlib/source/program/aedifex/artifact/snapshot/version/value.lux') diff --git a/stdlib/source/program/aedifex/artifact/snapshot/version/value.lux b/stdlib/source/program/aedifex/artifact/snapshot/version/value.lux new file mode 100644 index 000000000..7356d897c --- /dev/null +++ b/stdlib/source/program/aedifex/artifact/snapshot/version/value.lux @@ -0,0 +1,42 @@ +(.module: + [lux #* + [abstract + [equivalence (#+ Equivalence)]] + [data + ["." product] + ["." text + ["%" format]]]] + ["." /// (#+ Snapshot) + ["#." time] + ["#." stamp]]) + +(type: #export Value + {#version Text + #snapshot Snapshot}) + +(def: #export equivalence + (Equivalence Value) + ($_ product.equivalence + text.equivalence + ///.equivalence + )) + +(def: separator + "-") + +(def: #export snapshot + "SNAPSHOT") + +(def: #export (format (^slots [#version #snapshot])) + (%.Format Value) + (case snapshot + #///.Local + version + + (#///.Remote stamp) + (let [(^slots [#///stamp.time #///stamp.build]) stamp] + (%.format (text.replace_all ..snapshot + (///time.format time) + version) + ..separator + (%.nat build))))) -- cgit v1.2.3