blob: 34174ddec6265a34d384fd12817ff7a6b0364c95 (
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
|
(.module:
[library
[lux {"-" [i64]}
[type {"+" [:by_example]}]
[abstract
[equivalence {"+" [Equivalence]}]]
[control
["." maybe]]]]
[//
["." i64 {"+" [Sub]}]])
(def: sub
(maybe.trusted (i64.sub 32)))
(def: .public I32
(:by_example [size]
(Sub size)
..sub
(I64 size)))
(def: .public equivalence (Equivalence I32) (\ ..sub &equivalence))
(def: .public width Nat (\ ..sub width))
(def: .public i32 (-> I64 I32) (\ ..sub narrow))
(def: .public i64 (-> I32 I64) (\ ..sub wide))
|