Submitted by , posted on 31 March 2005

Image Description, by

Well, it all started in a thread where a person wanted some help with a programming problem. It ended in people solving the problem in many different languages including my very own BrainF*** version. Then the second thread came that challenged coders to do a Latin numbers to roman numbers converter using the least amount of code, craziest solution, clearest solution etc. I was still crazy-minded and thought I'd give Befunge a try. Befunge is a 2D, stack-based esoteric programming language. I really liked Befunge and took it a step further. I had a hard time finding a good interpreter and even harder to find some way to debug it. It ended with me spending a weekend writing this little application called Fungus that people really enjoyed.

Fungus is a Befunge-93 editor and debugger. I used SDL for the graphics and everything else is C++ without STL.

The top image shows Fungus in edit mode where you can change the code. Fungus also draws the flow of the application so you can see when you break the flow. The flow tracker can't handle self-modifying code however.

The lower image shows Fungus in debug mode. You have the usual debugging stuff like run, step, breakpoints, program view and stack view. One twist is the memory tracker feature. It paints the background red if the cell has been written to, green if read from and blue if it has been executed.

Why did I write this? Because it was fun and don't give me any of that waste of time crap. :)

Visit to some more info and download..
Visit for more information on Befunge.

.K. Magnus Auvinen aka matricks

Image of the Day Gallery



Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.