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.

0.2-beta1 (2004-06-11)

  • Initial release.