Amphithéâtre Maurice Halbwachs, Site Marcelin Berthelot
En libre accès, dans la limite des places disponibles
-

Résumé

Ce sixième et dernier cours a brièvement décrit le langage HipHop.js, nouvelle version Javascript du langage HipHop déjà présenté avec Manuel Serrano (Inria Sophia-Antipolis) dans le cours et le séminaire du 28 mai 2013. HipHop.js, qui reprend en syntaxe JavaScript les constructions et le parallélisme synchrone d’Esterel, rend facile l’intégration de la programmation réactive synchrone à la programmation traditionnelle du Web en Hop.js.

Par la possibilité de modifier au vol le code source HipHop.js à l’aide de fonctions Hop.js, il ajoute aussi un niveau supplémentaire de dynamicité aux programmes synchrones, ce qui est indispensable car le Web est en lui-même un environnement particulièrement dynamique. Mais le Web nécessite aussi un mélange fin des approches synchrones et asynchrones. Ceci est réalisé par l’intégration dans Hop qui comprend bien les événements du Web et permet aussi de lancer des réactions HipHop.js quand un composant d’interface homme-machine est activé ou quand la valeur d’une variable interne change.

Enfin l’ajout de la primitive « exec » d’appel d’actions asynchrones introduite à la fin des années 1980 dans le langage Esterel v5 permet de lancer et de contrôler finement des actions externes, comme le téléchargement depuis un site ou le mouvement d’un robot. Le premier compilateur prototype de HipHop.js vers Hop.js a été développé par Colin Vidal (thésard Inria), et son évolution fait partie de mes recherches.