I’ve had a couple of Junior Arithmancer players tell me that reaching the minimum integer in Glulx causes the game not to misbehave (see this post) but to crash. I can’t make it crash in either the Inform IDE or Gargoyle for Windows, but apparently the game will crash in at least Gargoyle for Linux.
Would a few of you try checking the attached .gblorb file with your interpreter and see whether it crashes? The Inform code that produces the .gblorb file is simply
[code]Beginning is a room.
VERYSMALL is always -2147483647.
minimum-testing is an action out of world. Understand “minimum” as minimum-testing.
Carry out minimum-testing:
let newnumber be VERYSMALL;
say “The minimum integer in Glulx is almost [newnumber], which is [newnumber in words].[paragraph break]”;
let newnumber be newnumber - 1;
say “The minimum integer in Glulx actually is [newnumber], which is [newnumber in words].[paragraph break]”;
say “Since that didn’t work, let’s try again: The minimum integer in Glulx actually is [newnumber], which is minus two billion, one hundred forty-seven million, four hundred eighty-three thousand, six hundred forty-eight.[paragraph break]”;
let newnumber be newnumber - 1;
say “But the maximum integer in Glulx is [newnumber], which is [newnumber in words].[paragraph break]”.[/code]
If you type MINIMUM at the command prompt it should produce the output
[code]Welcome
An Interactive Fiction
Release 1 / Serial number 181126 / Inform 7 build 6M62 (I6/v6.33 lib 6/12N) SD
Beginning
minimum
The minimum integer in Glulx is almost -2147483647, which is minus two billion, one hundred and forty-seven million, four hundred and eighty-three thousand, six hundred and forty-seven.
The minimum integer in Glulx actually is -2147483648, which is minus .
Since that didn’t work, let’s try again: The minimum integer in Glulx actually is -2147483648, which is minus two billion, one hundred forty-seven million, four hundred eighty-three thousand, six hundred forty-eight.
But the maximum integer in Glulx is 2147483647, which is two billion, one hundred and forty-seven million, four hundred and eighty-three thousand, six hundred and forty-seven.
[/code]
I’d like to see which interpreters this works fine on (again, type MINIMUM at the command prompt), and which interpreters crash with this. I’ll probably put a note in the next release of JA about which interpreters might cause problems here.
Thanks!
story.gblorb (595 KB)