The LAST programming language

Screenshot of the AMY1 gene, from Wikipedia, adapted

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.

Simple playground

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.

run
run and render as LAST-B (binary)
S-optimize
S-deoptimize
 
Output will appear here.

* Note: input goes immediately after the program and is not interactive. For a more advanced playground with interactive input, see nuklĕus below.

Advanced playground

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.

a screenshot from nuklĕus

See also