Come Here

Come Here is a programming language devised by User:Smjg. Its aim is to do away with the  statement that is considered harmful by many people, but nonetheless is far too common in the world's languages.

To achieve this, the  statement is replaced by. Indeed,  is the only control flow statement in Come Here. Loops and conditionals must be simulated by using  with a computed argument.

The only data type is the integer. Strings are stored as their little-endian integer representations. There is no defined limit on the size of a Come Here integer. In the official implementation it is unlimited (except by the available memory, of course), but this is not a requirement.

Syntax and statement semantics
Each statement consists of an optional numeric label, a keyword (or in one case, two keywords), followed by one or more juxtaposed arguments. Whitespace is irrelevant.

Code example
The following program prints the message "Hello, world!" ten times.

10 CALL 10 count COME FROM 10 + SGN count TELL "Hello, world!" NEXT 11 CALL count - 1 count

The second line in this code takes the sign of the variable count (0-1, 0 or 1), and therefore comes from the statement labelled 9, 10 or 11 depending on the value of count. It is illegal to  a non-existent label, hence the dummy label 10. In this instance, count will never be negative; therefore there is no need for a statement to be labelled 9.

Computational class
As long as the implementation places no limit on the size of the integer data type, Come Here is Turing complete since it can simulate a Minsky machine.

Because Come Here has no built-in support for arrays or other data structures, such things must be encoded by using a defined number of integer variables.

External link

 * The Come Here Programming Language