blob: 560168f6f23d46bd109d381aba816e2393d5bdb7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
(.module:
[lux (#- i64)
[abstract
[equivalence (#+ Equivalence)]]
[data
["." maybe]]
[type (#+ :by-example)]]
[//
["." i64 (#+ Sub)]])
(def: sub (maybe.assume (i64.sub 32)))
(def: #export I32 (:by-example [size]
{(Sub size)
..sub}
(I64 size)))
(def: #export i32 (-> I64 I32) (get@ #i64.narrow ..sub))
(def: #export i64 (-> I32 I64) (get@ #i64.wide ..sub))
(def: #export equivalence (Equivalence I32) (get@ #i64.equivalence ..sub))
|