blob: 63221895eda89a70bd2ab95851d50d6dff41eb52 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
(.using
[library
[lux "*"
[abstract
[equivalence {"+" Equivalence}]
[hash {"+" Hash}]]
[data
["[0]" product]
[text
["%" format]]
[collection
["[0]" set {"+" Set}]]]
[math
[number
["[0]" nat]]]]]
[//
["[0]" module]
["[0]" artifact]])
(type: .public ID
(Record
[#module module.ID
#artifact artifact.ID]))
(def: .public hash
(Hash ID)
(all product.hash
nat.hash
nat.hash))
(def: .public equivalence
(Equivalence ID)
(# ..hash equivalence))
(def: .public none
(Set ID)
(set.empty ..hash))
(def: .public (format it)
(%.Format ID)
(%.format (%.nat (the #module it))
"."
(%.nat (the #artifact it))))
|