diff options
| author | eunhhu <[email protected]> | 2026-09-30 16:32:17 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-30 16:32:17 +0100 |
| commit | 24d95e19b4eec44c5f8c9f551ebf4e8fc465d5f5 (patch) | |
| tree | 5314f4e52dab77fbd0f40d4c76922d75bc3babf9 /compiler/aup.h | |
| parent | b8e3faaf1a3766591d31e6c5411c9e4fcc59a7a4 (diff) | |
| download | aup-24d95e19b4eec44c5f8c9f551ebf4e8fc465d5f5.tar.gz aup-24d95e19b4eec44c5f8c9f551ebf4e8fc465d5f5.zip | |
Give aup an i64: exact integers, and literals typed by what they meet
state, record, message, output and argument fields, lets, views, keys
and slices can be i64 (Pure 016 stage 2). An integer literal becomes
an i64 where the other side of an operation, a comparison or an
assignment is one; a literal-only side follows the other, found by
compiling it on trial and rolling back. + - * and negation fail the
event with overflow, / and % floor, and i64(x) and number(n) are the
only way between the two, so a mix is a diagnostic that says so.
The check adds 18 i64 diagnostics, i64 accepted forms (with a 30-deep
chain that must stay linear), an event-by-event program past 2^53
and at the edges, and i64 values in the generated programs.
Diffstat (limited to 'compiler/aup.h')
0 files changed, 0 insertions, 0 deletions
