blob: 09a30341f861988e9e1606f0d94626d6aef0a2fb (
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
|
const value = @import("../value.zig");
const Value = value.Value;
// Zig API
pub fn check(v: Value) bool {
return v.isOtherTag(.char);
}
pub fn assert(v: Value) void {
if (!check(v)) {
v.dump();
@panic("not char");
}
}
pub fn pack(c: u21) Value {
return .{ .char = .{ .value = c } };
}
pub fn unpack(v: Value) u21 {
assert(v);
return @truncate(v.char.value);
}
// Zisp API
pub fn pred(v: Value) Value {
return value.boole.pack(check(v));
}
|