Le langage compris par le serveur est décrit par un petit langage dont la syntaxe abstraite est :
type pixel = int * int
type graphical_query =
Clear
| Point of color * pixel
| Line of color * pixel * pixel
| Polyline of color * pixel list
| Polygone of color * pixel list
| Polyfill of color * pixel list
| Circle of color * pixel * int
| Text of color * pixel * string
| Function of (unit -> unit)
exit : unit
et get_channel : graphical_query Event.channel. À
l'instanciation de cette classe, une fenêtre aux bonnes dimensions devra
apparaître et un canal permettant le passage de valeurs de type graphical_query sera ouvert. En outre, l'émission sur ce canal
d'une requête graphique devra être traitée de manière synchrone
par le serveur. La méthode exit ferme la fenêtre.
send_query : graphical_query -> unit.
À l'application de cette méthode, la requête est émise sur le
canal ouvert par le serveur.