Turing: A New Programming Language in the Robot Age

I introduce a new programming language, based on the interaction with robots and/or ChatBots, which makes its syntax and programming extremely simple, allowing even a child to develop a program in Turing.

The name of the language is a tribute to the great scientist Alan Turing, considered by many as the father of Artificial Intelligence.

The basic architecture involves the use of several robots and the communication through Chat, using questions and commands forwarded through one or several APIs, valid for both the Interpreter and the proposed Turing Language Compiler:

Basic Architecture of the Turing Programming Language - v1

In this way, the language allows communication with an infinite number of robots and/or ChatBots

1. The basic structure of the Turing language

For a better understanding of the language, its structure is composed of the following main tags:

! – indicates printing or output of information
# – indicates a variable to be printed
? – indicates a question for one or more robots
> – indicates a command for one or more robots
/ – indicates a unique robot address or a specific list of robots
// – indicates a comment

2. Classic example of “Hello World” in Turing

To simplify the understanding, let’s start with an extremely simple program in any programming language, ie the classic “Hello World”.

In Turing we have:

!Hello world

But we can go beyond and program something more advanced, identifying the names and locations of the robots, introducing the control tag “?”, which communicates with the robot asking a question, such as:

Name? what is your name
Where? where do you live
!Hello World, my name is #Name and I live on #Where

Note that the response of the question will be assigned to the variable “Name”, that is, the variables are defined before the control tag “?”.

3. Communicating with several robots in Turing

Another feature of the Turing language, as seen in the basic architecture, is the possibility of addressing different robots.

In this case, we can ask a single question for all existing network of robots, for example:

Name? what is your name
!Robot 1 name is #Name1
!Robot 2 name is #Name2

Or, only address a single robot, using the control tag “/”, such as:

1/Name? what is your name
!Hello #Name1

4. Sending commands to robots in Turing

In addition to the communication through questions, it is possible to send commands to the robots, in which case the language Turing is even more open and generic, since it is possible to use interpreters of other languages, being directly forwarded the programming code to be executed by the robot, as in the examples below in php and python:

// run php code in robot 1 (default)
php>
{
echo date ('h:i:s'); 
sleep (10);
}

// run python code in robot 3
3/python>
{
#!/usr/bin/python
import time
time.sleep (5)
}

5. Conclusion

As can be seen, the ability to communicate the Turing language directly with robots makes the syntax simple and fully open to explore other languages with infinite programming possibilities.

The Turing language is free and open, as long as the author is quoted, so feel free to use the ideas presented, and you are still at the specification level.

____
Rogerio Figurelli – @ 2018-11-30

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s