Last updated at 5:13 pm UTC on 16 January 2006
This Befunge changeset provides 93.261% Befunge'93 compliance. It should be fairly easily extendable through '97, beyond that things may get a bit hairy. I can't even think of a usable way to display a 5d program structure, It'll just have to wait for Balloon5D ;) .
The speed is fairly reasonable, performing up to 81 thousand operations per second on a mere PIII@800 (and over 3x faster on J3). Having an actual Transcript window open will easily halve its speed, so remember to [X] them away before you start benchmarking.
- Popping up a little dialog for inputting each little character seems ungainly, so that'll wait for a real application window.
- The program view - Sort of solved. I see no reason to have this LayoutPolicy thing over having real container widgets.
- An Obi-wan in sinus.bf. The low end of the wave is "..*", my code shows ".*"(division rounding?). VB doesn't do cut&pasting, so I can't (won't) count the little dots at the other end of the spectrum.
- CrLfFileStream>>readOnlyFileNamed: screws up the "does not exist, maybe one of these?" dialog, it gives a plain StandardFileStream. Finally, one NOT MY FAULT!
- Dragging around gui opcodes doesn't quite do the sane thing. Just getting the grid display up is still a chore. Read the VisualBefunge93Morph comment.
- As a matter of fact, the gui is broken again. Oops.
- BefungeOpcode>>asNumberFor: could be more friendly if put as a stackward-message-send (i.e. Exception). I don't even want to know what a performance hit would come from that, though.
A formidable library can be found at http://prdownloads.sourceforge.net/funge/bef93src.zip?download
Befunge 93.cs.gz - File it in, and read the Befunge93Context comment. Due to pathological history trimming, it would probably be good to unload an older version before upgrading[sic].