PLDB
Languages Features Calendar CSV Lists Blog About Sponsor Add Language
GitHub icon

BlooP

BlooP

< >

BlooP is an esoteric programming language created in 1979.

#997on PLDB 43Years Old 185Users
1Books 0Papers

Try now: Replit

BlooP and FlooP are simple programming languages designed by Douglas Hofstadter to illustrate a point in his book Gödel, Escher, Bach. BlooP is a non-Turing-complete programming language whose main control flow structure is a bounded loop (i.e. recursion is not permitted). Read more on Wikipedia...


Example from hello-world:
DEFINE PROCEDURE ''HELLO-WORLD'' [N]: BLOCK 0: BEGIN PRINT['Hello World'] BLOCK 0: END. HELLO-WORLD[1];
Example from Wikipedia:
DEFINE PROCEDURE ''ACKERMANN'' [M, N]: BLOCK 0: BEGIN CELL(0) ⇐ M; OUTPUT ⇐ N; CELL(1) ⇐ 0; MU-LOOP: BLOCK 1: BEGIN IF CELL(0) = 0, THEN: BLOCK 2: BEGIN OUTPUT ⇐ OUTPUT + 1; IF CELL(1) = 0, THEN: ABORT LOOP 1; CELL(0) ⇐ TOP [CELL(1)]; CELL(1) ⇐ POP [CELL(1)]; QUIT BLOCK 1; BLOCK 2: END IF OUTPUT = 0, THEN: BLOCK 3: BEGIN OUTPUT ⇐ 1; CELL(0) ⇐ MINUS [CELL(0), 1]; QUIT BLOCK 1; BLOCK 3: END OUTPUT ⇐ MINUS [OUTPUT, 1]; CELL(1) ⇐ PUSH [MINUS [CELL(0), 1], CELL(1)]; BLOCK 1: END; BLOCK 0: END.

Language features

Feature Supported Example Token
Strings
'Hello world'
'
Print() Debugging PRINT

Books about BlooP from ISBNdb

title authors year publisher
Experimental Programming Languages: Subtext, Iswim, Unity, P, Lava, Lithe, Bloop And Floop, Advice Taker, Charity, Ambienttalk, Lagoona Books and LLC
logos.html · bloop.html · violent-es.html

View source

PLDB - Build the next great programming language · v2022 · Day 93 · Docs · Build · Acknowledgements · Traffic Today · Traffic Trends · Mirrors · GitHub · feedback@pldb.com