Category:BlooP: Difference between revisions

From Rosetta Code
Content added Content deleted
No edit summary
mNo edit summary
Line 1: Line 1:
{{stub}}{{language|BlooP}}
{{stub}}{{language|BlooP}}
BlooP and it's sister language Floop are 'theoretical' languages with several implementations, created by Douglas Hofstadter in his book Gödel, Escher, Bach, to demonstrate the halting problem.
BlooP and it's sister language Floop are 'theoretical' languages with several implementations, created by Douglas Hofstadter in his book ''Gödel, Escher, Bach'', to demonstrate the halting problem.


The name BlooP is short for Bounded Loop, the primary structure of the language. FlooP is identical to BlooP in every way except that it also sorts unbounded loops. FlooP is tiring complete, where BlooP is not. There is also a third, impossible language paired called GlooP, which can solve the halting problem.
The name BlooP is short for Bounded Loop, the primary structure of the language. FlooP is identical to BlooP in every way except that it also sorts unbounded loops. FlooP is tiring complete, where BlooP is not. There is also a third, impossible language paired called GlooP, which can solve the halting problem.


BlooP and FlooP have only 1 data type: non-negative integers (natural numbers). There are also only 2 variables, OUTPUT, which is the value returned by a procedure, and CELL(i), which is an unbounded series of numbers.
BlooP and FlooP have only 1 data type: non-negative integers (natural numbers). There are also only 2 variables (except parameters to procedures): <code>OUTPUT</code>, which is the value returned by a procedure, and <code>CELL(i)</code>, which is an unbounded series of numbers.


The operators that exist in BlooP and FlooP are:
The operators that exist in BlooP and FlooP are:
*<= : Assignment
*<code><=</code> : Assignment
*+ : Addition
*<code>+</code> : Addition
*&lowast; or x (depending on implementation): Multiplication
*<code>*</code> or <code>x</code> (depending on implementation): Multiplication
*> : Greater Than
*<code>></code> : Greater Than
*< : Less Than
*<code><</code> : Less Than
*= : Equals
*<code>=</code> : Equals


Note that subtraction and division are conspicuously missing, as are modulus and exponentiation. These can and must be defined in terms of loops and the provided operators.
Note that subtraction and division are conspicuously missing, as are modulus and exponentiation. These can and must be defined in terms of loops and the provided operators.

Revision as of 18:53, 11 April 2019

This page is a stub. It needs more information! You can help Rosetta Code by filling it in!
Language
BlooP
This programming language may be used to instruct a computer to perform a task.
See Also:


Listed below are all of the tasks on Rosetta Code which have been solved using BlooP.

BlooP and it's sister language Floop are 'theoretical' languages with several implementations, created by Douglas Hofstadter in his book Gödel, Escher, Bach, to demonstrate the halting problem.

The name BlooP is short for Bounded Loop, the primary structure of the language. FlooP is identical to BlooP in every way except that it also sorts unbounded loops. FlooP is tiring complete, where BlooP is not. There is also a third, impossible language paired called GlooP, which can solve the halting problem.

BlooP and FlooP have only 1 data type: non-negative integers (natural numbers). There are also only 2 variables (except parameters to procedures): OUTPUT, which is the value returned by a procedure, and CELL(i), which is an unbounded series of numbers.

The operators that exist in BlooP and FlooP are:

  • <= : Assignment
  • + : Addition
  • * or x (depending on implementation): Multiplication
  • > : Greater Than
  • < : Less Than
  • = : Equals

Note that subtraction and division are conspicuously missing, as are modulus and exponentiation. These can and must be defined in terms of loops and the provided operators.

Example Code

The best way to explain BlooP is really just to look at some examples, so here are a few: <lang BlooP> TODO: add example code </lang>

Pages in category "BlooP"

The following 4 pages are in this category, out of 4 total.