![]() |
Funge-98 |
Befunge Programming Language
| ![]() ![]() |
Funge-98 The most elaborate update so far of the Befunge language, Funge-98 generalizes Befunge for one, two, or three dimensions, and provides a paradigm for Funges of any number of dimensions and topologies. It also provides arbitrary program flow direction on a virtually limitless playfield, and a richer, scalable instruction set with an optional Concurrent version for multithreading. While Funge-98 is explicitly designed as a multidimensional language, it retains many properties of Befunge-93 when it comes to compiling to machine code: it is, if anything, more difficult to compile. It is still fully self-modifying; no strict distinction is made between code and data, nor code storage space and data storage space, and both can be read and written (at run-time) to a storage medium such as a hard drive. |
Registry In a vain attempt to inject automated democracy into language design, Funge-98 had, at one point, a "Central Registry" for standardizing implementations and extensions. In retrospect, the authour feels this was probably a mistake. The Central Registry no longer exists, and any news of new interpreters or libraries must be exchanged manually. But there are plenty of libraries for which at least the semantics are available (even if they can sometimes be vague.) Included below, however, is a list of extant implementations and extensions for Funge-98. | |||||||||||||||
Implementations
Extensions Cat's Eye Technologies' extensions can be found at http://www.catseye.mb.ca/esoteric/befunge/98/library/. Mike Riley's extensions can be found at
|