Ramblings of General Geekery

Just learned about the efghij programming language, which, I guess, is “literally object oriented” in that programs are “written” by stacking everyday objects on top of each other. For example, this is a factorial function:

(excerpt from the linked Wikipedia article)

This example demonstrates the BelMandel (Bigness Exactly Like Multiplying All Naturals Deemed Equal or Less than) function (otherwise known as factorial). This demonstrates a single-parameter function declaration in which the parameter is identified by sauces. 

In this example, the tray and the cutting board constitute code blocks. The oblong plate, however, has a clothes peg on it, which expresses a for loop. The fork is a local variable.

The fork variable is initialized to 1 within the for loop’s initial-value expression. The sauce with the rubber band indicates that the number of iterations is equal to the function’s argument. The stuff on the cutting board is the loop body. Using a stapler, the fork is multiplied by the sauce and the result assigned to the fork using a drinking glass. A hammer decrements the sauce, which demonstrates that the function’s parameter can be used as a local variable too.

Finally, the toilet roll indicates that the return value is the final value of the fork.