diff options
Diffstat (limited to 'src/libzisp/value/eof.zig')
| -rw-r--r-- | src/libzisp/value/eof.zig | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/libzisp/value/eof.zig b/src/libzisp/value/eof.zig new file mode 100644 index 0000000..34ab35d --- /dev/null +++ b/src/libzisp/value/eof.zig @@ -0,0 +1,27 @@ +const Value = @import("../value.zig").Value; +const misc = @import("misc.zig"); + +pub const eof = misc.eof; + +// Zig API + +pub fn check(v: Value) bool { + return v.bits == eof.bits; +} + +pub fn assert(v: Value) void { + if (!check(v)) { + v.dump(); + @panic("not bool"); + } +} + +// Zisp API + +pub fn get() Value { + return eof; +} + +pub fn pred(v: Value) Value { + return if (check(v)) misc.t else misc.f; +} |
