Here I present two extremely minimal programming languages I have created, which are both minimal versions of Alonzo Church’s lambda calculus, inspired by John Tromp’s Binary Lambda Calculus (BLC).
λDNA is an evolution of the LAST programming language.
λDNA is modeled after biological DNA. It is based on lambda calculus and is possibly the most minimal complete programming language. λDNA can run the shortest-possible self-interpreter of lambda calculus which can be in principle implemented in a binary variant of λDNA (to be implemented?) in 4 bits.
Full description and implementation of λDNA is at codeberg.org/xtao-org/ldna.
See also these blog posts:
LAST is an extremely minimal programming language which uses only 4 symbols (conventionally L, A, S, and T) to encode any algorithm. In that LAST is analogous with DNA, the language of biology, which uses only 4 symbols (conventionally C, G, A, and T) to encode any organism.
LAST grew out of a desire to understand the fundamentals of computing, as discovered and explained by great computer scientists. The language presents another perspective on their work, adding something to build upon further and hopefully helping others gain their own understanding.
LAST is a version of Alonzo Church’s lambda calculus, inspired by Justine Tunney’s SectorLambda implementation of John Tromp’s Binary Lambda Calculus (BLC).
To learn more, see the Introduction to the LAST programming language and Revelation: Lambda Calculus Reduced To Four Primitive Operations.
Enter LAST code or select an example and click one of the buttons below*.
Example:
All characters except L, A, S, and T will be ignored.
* Note: input goes immediately after the program and is not interactive. For a more advanced playground with interactive input, see nuklĕus below.
nuklĕus is a minimal web-based IDE for LAST with a debugger, where you can compile LAST programs to a very closely-related virtual machine bytecode which can then be executed step-by-step. The debugger visualizes the state of memory at each step and supports interactive I/O.
To open nuklĕus, click on the screenshot below.
If you like, you can support my work with a small donation.
Thank you!