BlooP, FlooP, and GlooP
Dan Tobias (Talk | contribs) (Created page with "{{FormatInfo |formattype=Languages |subcat=Programming Languages |released=1979 }} '''BlooP, FlooP, and GlooP''' are programming languages introduced for educational purpo...") |
Dan Tobias (Talk | contribs) |
||
Line 4: | Line 4: | ||
|released=1979 | |released=1979 | ||
}} | }} | ||
− | '''[[BlooP, FlooP, and GlooP]]''' are programming languages introduced for | + | '''[[BlooP, FlooP, and GlooP]]''' are programming languages introduced for instructional purposes in chapter XIII of ''Gödel, Escher, Bach: An Eternal Golden Braid'' (ISBN 978-0-465-02656-2, ISBN 0-14-017997-6), by Douglas R. Hofstader. They are defined with strictly limited built-in capabilities in order to explore what sorts of computations are theoretically possible given a particular set of language capabilities. |
Each of these languages has only addition and multiplication as built-in functions, so other functions such as subtraction need to be defined in terms of these. Variables can only be natural numbers, integers zero or higher. | Each of these languages has only addition and multiplication as built-in functions, so other functions such as subtraction need to be defined in terms of these. Variables can only be natural numbers, integers zero or higher. |
Revision as of 12:32, 9 December 2013
BlooP, FlooP, and GlooP are programming languages introduced for instructional purposes in chapter XIII of Gödel, Escher, Bach: An Eternal Golden Braid (ISBN 978-0-465-02656-2, ISBN 0-14-017997-6), by Douglas R. Hofstader. They are defined with strictly limited built-in capabilities in order to explore what sorts of computations are theoretically possible given a particular set of language capabilities.
Each of these languages has only addition and multiplication as built-in functions, so other functions such as subtraction need to be defined in terms of these. Variables can only be natural numbers, integers zero or higher.
Contents |
BlooP
BlooP supports program loops, but only with a specified maximum number of iterations (as either a constant or a variable, so the bounds can be computed), meaning that all programs are guaranteed to terminate.
FlooP
FlooP has the capabilities of BlooP, but allowing unbounded loops, which exit only when a test is passed, so an infinite loop could occur if the test never passes.
GlooP
GlooP is a hypothetical language that is even more unbounded than Floop, and thus able to compute things that are logically uncomputable in the (Turing-complete) Floop language, but it is believed that no such language is actually possible.