Changes in PyFunge
0.5-rc2 (2009-04-24)
- Bug fixes.
- Befunge-93 space now treats the cell as 8-bit unsigned integer.
- New IPs cloned by t command are now guaranteed to be executed before parent IP.
- u command does obey queuemode and invertmode from MODE.
- F command of TIME was off by one. (0 should mean the first day of year.)
- Internal API changes. These changes don’t affect PyFunge v2 fingerprint API, but does require some trivial changes.
- Extensive optimizations resulted in 10–30% overall speed-up.
- New Funge-98 fingerprints: 3DSP, ICAL, IIPC, IMAP, IMTH, LONG, NCRS, PERL, SCKE, SETS, SOCK, SUBR and TERM.
- Provides the complete documentation. Earlier version has some missing sections yet to be written.
- More regression tests in tests/ directory.
0.5-rc1 (2009-04-15)
- Full Befunge-98 compliance.
- Rewrote problematic IP walking algorithm to get correct behavior of #, ', s and concurrency.
- Fixed [ and ] command which got swapped.
- Fixed / and % command so division by zero results in zero, not reflects.
- Corrected k command. (Meaning of it was quite dubious, but now clear)
- Fixed {, } and u command which had a number of bugs, including treating the argument with incorrect sign.
- : always pushes two items, even if the stack has one or zero items.
- Fixed faulty treatment of Unefunge and Befunge source code.
- Almost complete change in internal API.
- A lot of code restructuring and refactoring.
- Big improvement in performance (10x-40x speed gain), including:
- More efficient space-related algorithms; they are also used only when needed. (8x speed gain)
- Added dimension-dependent, caching Vector class. (2x speed gain)
- General code simplification. (1.5x-2x speed gain)
- New command-line front-end, allowing the direct execution of all available languages.
- New fingerprint implementation, which API dubbed “PyFunge v2”. (See Writing fingerprint for more information)
- Implemented more fingerprints. (See Supported fingerprints for more information)
- Added the regression test suite. (See Tests for more information)
- Moved to Mercurial repository.