http://eblong.com/zarf/tmp/floatspec.txt
Nothing much has changed since the last time I posted about it. You'll
see some incomplete bits. But it's incomplete by definition until the
first implementation is done, anyhow. I haven't started to work on that
yet.
--Z
--
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
*
I've posted the complete Glulx 3.1.2 spec:
<http://eblong.com/zarf/glulx/>
The float opcodes are the big change. Minor changes, collected over
the last several months:
Deprecated 8-bit and 16-bit locals. Also deprecated the use of the
copyb and copys opcodes with a local-variable operand.
Noted that opcodes 0x1000 to 0x10FF are reserved for FyreVM; also
gestalt selectors 0x1000 to 0x10FF, and I/O system 20.
Clarified that you may not use @setmemsize when the memory heap is
active.
Clarified that glk_put_string() cannot accept encoded Glulx
strings.
Please take a look (if you're the spec-reading type) and tell me if
you see anything obviously stupid.
The I6 compiler support for this float stuff is linked on the web
page. (You'll have to compile your own I6 binary, until this patch
makes it into the official Inform distribution.)
The interpreter support (Glulxe and Quixe) is ready to go, but I don't
have it posted yet. I'll try to do it tomorrow.
And now I've made a couple of corrections to it. (I had the signs on
the @fmod opcode defined wrong.)
If you happen to be implementing this stuff, get the latest
Glulxercise to test against.
> The I6 compiler support for this float stuff is linked on the web
> page. (You'll have to compile your own I6 binary, until this patch
> makes it into the official Inform distribution.)
I'm working on a separate patch to allow floating-point literals in I6
code. They'll look like $+1.0, $-1.0, $+1.23e+3, and so on. (The sign
character after the dollar sign is mandatory, to prevent this from
being confused with hex numbers.)
> The interpreter support (Glulxe and Quixe) is ready to go, but I don't
> have it posted yet. I'll try to do it tomorrow.
I haven't done formal releases, due to the above-mentioned
corrections. But you can grab the source from my github page if you
want to try them.