From 4d0db1a1065f18d879b3ff90da6ecb14e9e1ae31 Mon Sep 17 00:00:00 2001 From: Taylan Kammer Date: Tue, 18 Feb 2025 22:48:57 +0100 Subject: update --- src/libzisp/value/char.zig | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'src/libzisp/value/char.zig') diff --git a/src/libzisp/value/char.zig b/src/libzisp/value/char.zig index 6a38f0d..98bb26f 100644 --- a/src/libzisp/value/char.zig +++ b/src/libzisp/value/char.zig @@ -1,10 +1,11 @@ -const Value = @import("../value.zig").Value; +const value = @import("../value.zig"); + +const Value = value.Value; + +// Zig API pub fn check(v: Value) bool { - return v.isPacked() and - !v.char.fixnum and - !v.char.ptr and - v.char.tag == .char; + return v.isOther(.char); } pub fn assert(v: Value) void { @@ -15,10 +16,16 @@ pub fn assert(v: Value) void { } pub fn pack(c: u21) Value { - return .{ .char = .{ .value = c } }; + return .{ .char = .{ .char = c } }; } pub fn unpack(v: Value) u21 { assert(v); - return @truncate(v.char.value); + return @truncate(v.char.char); +} + +// Zisp API + +pub fn pred(v: Value) Value { + return value.boole.pack(check(v)); } -- cgit v1.2.3