diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/lux/data/number/i8.lux | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/stdlib/source/lux/data/number/i8.lux b/stdlib/source/lux/data/number/i8.lux new file mode 100644 index 000000000..483f6a6a1 --- /dev/null +++ b/stdlib/source/lux/data/number/i8.lux @@ -0,0 +1,20 @@ +(.module: + [lux (#- i64) + [abstract + [equivalence (#+ Equivalence)]] + [data + ["." maybe]] + [type (#+ :by-example)]] + [// + ["." i64 (#+ Sub)]]) + +(def: sub (maybe.assume (i64.sub 8))) + +(def: #export I8 (:by-example [size] + {(Sub size) + sub} + (I64 size))) + +(def: #export i8 (-> I64 I8) (get@ #i64.narrow sub)) +(def: #export i64 (-> I8 I64) (get@ #i64.wide sub)) +(def: #export equivalence (Equivalence I8) (get@ #i64.equivalence sub)) |