summaryrefslogtreecommitdiff
path: root/src/libzisp/value/eof.zig
blob: 4b166697aa5aaa3ad7897b3fbce556b4b93bc5b8 (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
const value = @import("../value.zig");

const Value = value.Value;

pub const eof = Value{ .misc = .{ .value = .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 value.boole.pack(check(v));
}