Programming in Funge

Funge-98 in Depth

Advanced Funge-98 features explained one at a time.

Delta Vectors and Arbitrary Directions

Learn how Funge-98 describes pointer movement as a delta vector, how the absolute-delta instruction sets it, and what diagonal and long steps make possible.

4 min read

File Input and Output in Funge-98

A general look at how Funge-98 reads files into the grid and writes grid regions to files, with notes on flags, text versus binary, and safety.

5 min read

Loading Extensions Safely

How a Funge-98 program asks its interpreter to load optional extensions, what can go wrong, and habits that keep programs predictable and safe to run.

4 min read

Repeating Instructions with Iterate

How the Funge-98 iterate instruction repeats the next instruction a given number of times, with a traced example, edge cases and where it shortens code.

4 min read

Storage Offset and Relocatable Code

How the Funge-98 storage offset shifts the origin used by get and put, and how that lets one routine and its data work wherever it is placed on the grid.

5 min read

What Happens When an Instruction Is Unknown

Funge-98 treats unsupported or unassigned instructions as a reflection that turns the pointer around. Learn why, how it shows up, and what it means for portability.

4 min read

Working with the Stack of Stacks

How Funge-98 block begin and block end create separate stacks, what moves between them, the stack-under-stack instruction, and why programs use isolation.

5 min read

Related topics

More in programming in funge