Binary lambda calculus, kurz BLC, ist eine extrem kleine, turingvollständige esoterische Programmiersprache, deren Programme aus einer Folge von Bits bestehen. Finden Sie mehr rund ums Programmieren auf unserer Schwerpunktseite Programmiersprachen.
Geschichte
BLC wurde 2004 von John Tromp erfunden. Er entwickelte die Sprache aus der Perspektive der algorithmischen Informationstheorie: Sie beruht auf einer binären Kodierung des untypisierten Lambda-Kalküls in De-Bruijn-Index-Notation. Beim International Obfuscated C Code Contest 2012 beschrieb Tromp BLC und die Variante BLC8 mit byteweiser Ein- und Ausgabe.
Funktionsweise
Ein BLC-Programm wird von links nach rechts gelesen. 00 leitet eine Lambda-Funktion ein, 01 steht für die Anwendung eines Ausdrucks auf einen anderen, und eine Folge von Einsen, abgeschlossen von einer Null, verweist auf eine Variable: Die Zahl der Einsen ist ihr De-Bruijn-Index. Anders als die verwandte Binary Combinatory Logic kann BLC Ein- und Ausgaben verarbeiten.
Einordnung
Bemerkenswert ist die Dichte der Sprache: Ein Selbstinterpreter in BLC ist nur 232 Bit, also 29 Byte lang, und Tromp zeigt einen Brainfuck-Interpreter in 829 Bit, unter 104 Byte. Ein Hello-World-Programm nennt die verwendete Quelle nicht. Siehe auch Binary combinatory logic und unsere Liste: Esoterische Programmiersprachen.
Quellen
- John Tromp: Binary Lambda Calculus
- Esolang-Wiki: „Binary lambda calculus“
Stand: 15.10.2026
