aboutsummaryrefslogtreecommitdiffstats
path: root/examples/charge.aup
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-30 16:32:17 +0100
committereunhhu <[email protected]>2026-09-30 16:32:17 +0100
commit24d95e19b4eec44c5f8c9f551ebf4e8fc465d5f5 (patch)
tree5314f4e52dab77fbd0f40d4c76922d75bc3babf9 /examples/charge.aup
parentb8e3faaf1a3766591d31e6c5411c9e4fcc59a7a4 (diff)
downloadaup-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 'examples/charge.aup')
0 files changed, 0 insertions, 0 deletions