Parallelism

URBI handles command parallelism in a very simple way. Parallelism is enforced through various command separators :

This explain why the comma was necessary in the previous section. If we finish a command that last forever with a semicolon, the server will wait forever before starting a new command. If you happen to make this mistake, it is still possible to open a new connection to the URBI server using another client and using the stop tag; command.

Here is an example where we use parallelism to move the tribot awkwardly while playing sounds :

  wheelR.speed = 0 sin:3s ampli:50 & 
  wheelL.speed = 0 sin:4s ampli:30 &
  beeper.play(200,3s),

Parallelism handling is a key feature of URBI, which has in fact four command separators. See the URBI tutorial available at http://www.gostai.com/doc.php for more information.