{"id":583,"date":"2012-12-28T23:50:55","date_gmt":"2012-12-28T22:50:55","guid":{"rendered":"http:\/\/dominique.sciamma.com\/?page_id=583"},"modified":"2012-12-29T08:48:00","modified_gmt":"2012-12-29T07:48:00","slug":"xilog","status":"publish","type":"page","link":"https:\/\/dominique.sciamma.com\/?page_id=583","title":{"rendered":"Xilog"},"content":{"rendered":"<h1><strong>XILOG : Programmer en Logique (de 1984 \u00e0 1988)<\/strong><\/h1>\n<p>En int\u00e9grant en janvier 1984 la petite \u00e9quipe IA cr\u00e9\u00e9e et dirig\u00e9e par J<strong>ean ROHMER<\/strong>, je me d\u00e9die au\u00a0<strong>d\u00e9corticage complet de l\u2019environnement PROLOG II<\/strong>, con\u00e7u par l\u2019\u00e9quipe d\u2019<a title=\"Alain Colmerauer\" href=\"http:\/\/fr.wikipedia.org\/wiki\/Alain_Colmerauer\" target=\"_blank\">Alain COLMERAUER<\/a>\u00a0\u00e0 l\u2019universit\u00e9 d\u2019Aix-Marseille. Ce logiciel de plusieur m\u00f9illier deligne est \u00e9crit dans un langage propri\u00e9taire destin\u00e9 \u00e0 tourner sur une machien virtuelle, elle m\u00eame \u00e9crite en Pascal ! En quelques mois, je connais la moindre ligne de ce logiciel, au point de le\u00a0ma\u00eetriser\u00a0mieux que ses auteurs eux-m\u00eame !<\/p>\n<p style=\"padding-left: 30px;\"><em>Je me souviens de cette sc\u00e8ne\u00a0cocasse\u00a0 o\u00f9 lors d\u2019un colloque sur la programmation logique \u00e0 Stockholm, j\u2019entends deux personnes parler d\u2019un bug dans leur environnement Prolog II (dont\u00a0Michel Van Caneghem). Je me retourne alors, et sans me pr\u00e9senter, je leur livre la solution \u00e0 leur probl\u00e8me \u2013 pour l\u2019avoir r\u00e9solu moi-m\u00eame quelques mois auparavant \u2013 en leur donnant, le nom de la proc\u00e9dure impliqu\u00e9e, et l\u2019origine du bug, ainsi que la ligne \u00e0 changer !<\/em><\/p>\n<p>Sur la base de cette connaissance, je commence \u00e0 sp\u00e9cifier er d\u00e9velopper, avec l\u2019aide d\u2019un stagiaire nomm\u00e9\u00a0<strong>Javier SOLA \u2013 qui a connu ensuite une belle carri\u00e8re &#8211;<\/strong>\u00a0un nouvel environnement Prolog destin\u00e9 au march\u00e9 du PC naissant. Cet environnement sera ambitieux puisque il int\u00e9grera :<\/p>\n<ul>\n<li><span style=\"text-decoration: underline;\">De nouveaux concepts<\/span> : Variables Typ\u00e9es, Tableaux, Fonction<\/li>\n<li><span style=\"text-decoration: underline;\">Un environnement de programmation<\/span> : \u00e9diteur, d\u00e9bugueur<\/li>\n<li><span style=\"text-decoration: underline;\">Un syst\u00e8me de fen\u00eatrage complet<\/span> (jusqu\u2019\u00e0 10 fen\u00eatres, avec gestion compl\u00e8te de l\u2019\u00e9cran \u2013 rappelez vous que MSDOS n\u2019en avait pas !)<\/li>\n<\/ul>\n<p>Il faut se rappeler que les PC de l\u2019\u00e9poque ne comporte que\u00a0<strong>640 K de m\u00e9moire vive<\/strong>(Oui, vous avez bien lu), et ne dispose d\u2019aucun disque dur. Nous travaillons \u00e0 l\u2019\u00e9poque sur un PC \u00ab\u00a0portable\u00a0\u00bb de 17Kg (<strong>Le Corona<\/strong>), avec le langage Lattice C, mais aussi directement en assembleur 8086 , pour l\u2019algoritme d\u2019unification.<\/p>\n<p><a href=\"http:\/\/dominique.sciamma.com\/wp-content\/uploads\/2012\/12\/PC-CORONA.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-595\" alt=\"PC-CORONA\" src=\"http:\/\/dominique.sciamma.com\/wp-content\/uploads\/2012\/12\/PC-CORONA.jpg\" width=\"300\" height=\"226\" \/><\/a><br \/>\nUne compilation dure plusieurs minutes, et nous patientons \u00e0 l\u2019\u00e9poque en jouant de la guitare et de la flute irlandaise (v\u00e9ridique).<br \/>\n<strong>Le logiciel ne p\u00e8se pas plus de 200K !<\/strong><\/p>\n<p>Il constitue le Prolog le plus rapide de son \u00e9poque, puisque il tourne \u00e0 100 LIPS (Logical Inference Per Second).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-591\" alt=\"XILOG-Couv\" src=\"http:\/\/dominique.sciamma.com\/wp-content\/uploads\/2012\/12\/XILOG-Couv-217x300.jpg\" width=\"217\" height=\"300\" srcset=\"https:\/\/dominique.sciamma.com\/wp-content\/uploads\/2012\/12\/XILOG-Couv-217x300.jpg 217w, https:\/\/dominique.sciamma.com\/wp-content\/uploads\/2012\/12\/XILOG-Couv.jpg 522w\" sizes=\"(max-width: 217px) 100vw, 217px\" \/>\u00a0 \u00a0 \u00a0 \u00a0\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-592\" alt=\"XILOG-diskette\" src=\"http:\/\/dominique.sciamma.com\/wp-content\/uploads\/2012\/12\/XILOG-diskette-300x297.jpg\" width=\"300\" height=\"297\" srcset=\"https:\/\/dominique.sciamma.com\/wp-content\/uploads\/2012\/12\/XILOG-diskette-300x297.jpg 300w, https:\/\/dominique.sciamma.com\/wp-content\/uploads\/2012\/12\/XILOG-diskette-150x150.jpg 150w, https:\/\/dominique.sciamma.com\/wp-content\/uploads\/2012\/12\/XILOG-diskette-302x300.jpg 302w, https:\/\/dominique.sciamma.com\/wp-content\/uploads\/2012\/12\/XILOG-diskette.jpg 720w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>XILOG, \u00e9dit\u00e9 par Bul Micral \u2013 la filiale Micro du Groupe \u2013 sera le\u00a0<strong>1er logiciel d\u2019IA<\/strong>\u00a0<strong>\u00e9dit\u00e9 par notre champion national.<\/strong><\/p>\n<p>Une deuxi\u00e8me version sera d\u00e9velopp\u00e9e, qui int\u00e9grera lui aussi des nouveaut\u00e9s in\u00e9dites :<\/p>\n<ul>\n<li><strong>Une libraire XILOG-C,<\/strong>\u00a0et son API, qui permet d\u2019int\u00e9grer le moteur d\u2019inf\u00e9rence dans n\u2019impoorte quel logiciel, et ainsi d\u2019y int\u00e9grer de l\u2019IA.<\/li>\n<li><strong>Un compilateur de Prolog<\/strong>\u00a0en Assembleur 80286 : mieux m\u00eame, une mixit\u00e9 totale et transparente entre Prolog int\u00e9rpr\u00e9t\u00e9 et Prolog compil\u00e9.<\/li>\n<\/ul>\n<p>Un partenariat sign\u00e9 \u00a0en 1989 avec la soci\u00e9t\u00e9\u00a0<strong>ACT Informatique<\/strong>, dirig\u00e9e par<strong> G\u00e9rard DAHAN<\/strong>, et pilot\u00e9 par mon ami <strong>Laurent CERVONI<\/strong> permettra de commercialiser cette deuxi\u00e8me version, en y mettant enfin les moyens marketing n\u00e9cessaires.<\/p>\n<p>Packag\u00e9 pour des cibles diff\u00e9rentes \u00a0(Grand Public, Pro, Education Nationale), XILOG sera utilis\u00e9 pendant des ann\u00e9es comme support de cours sur le langage Prolog.<\/p>\n<p><strong><a href=\"http:\/\/dominique.sciamma.com\/wp-content\/uploads\/2012\/12\/Xilog-Starter.pdf\">Vous pouvez lire ici le manuel Xilog-Starter<\/a>\u00a0!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>XILOG : Programmer en Logique (de 1984 \u00e0 1988) En int\u00e9grant en janvier 1984 la petite \u00e9quipe IA cr\u00e9\u00e9e et dirig\u00e9e par Jean ROHMER, je me d\u00e9die au\u00a0d\u00e9corticage complet de l\u2019environnement PROLOG II, con\u00e7u par l\u2019\u00e9quipe d\u2019Alain COLMERAUER\u00a0\u00e0 l\u2019universit\u00e9 d\u2019Aix-Marseille. &hellip; <a href=\"https:\/\/dominique.sciamma.com\/?page_id=583\">Lire la suite <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":568,"menu_order":1,"comment_status":"closed","ping_status":"open","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/dominique.sciamma.com\/index.php?rest_route=\/wp\/v2\/pages\/583"}],"collection":[{"href":"https:\/\/dominique.sciamma.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dominique.sciamma.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dominique.sciamma.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dominique.sciamma.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=583"}],"version-history":[{"count":8,"href":"https:\/\/dominique.sciamma.com\/index.php?rest_route=\/wp\/v2\/pages\/583\/revisions"}],"predecessor-version":[{"id":615,"href":"https:\/\/dominique.sciamma.com\/index.php?rest_route=\/wp\/v2\/pages\/583\/revisions\/615"}],"up":[{"embeddable":true,"href":"https:\/\/dominique.sciamma.com\/index.php?rest_route=\/wp\/v2\/pages\/568"}],"wp:attachment":[{"href":"https:\/\/dominique.sciamma.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=583"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}