Appeared in Volume 10/1, February 1997
INAP-96, the 9th Exhibition and Symposium on Industrial Applications of Prolog, was held in Hino, Tokyo on October 16th - 18th. There were about 70 attendees with over half of them coming from outside Japan.
A major theme of the conference was the use of Prolog for writing Internet and Web applications. Paul Tarau gave the keynote speech on "Logic Programming and Virtual Worlds" which looked at his LogiMOO system based on the blackboard features of BinProlog. Frank McCabe gave a tutorial on his Agent programming language, April. I spoke about LogicWeb, a system for treating Web pages as logic programming modules. Philippe Bonnet talked about the ECLiPSe HTTP library, and Hiroki Ohama described a Web-based Travel Planning System. IF/Prolog announced three Web products: a Prolog system coded in Java called MINERVA, a server-side library called IntelligentWeb, and a Web document management product called WeaveWeb.
There were a number of invited talks and tutorials, including a provocative look at software engineering by Karl Reed, and an informative description of Erlang by its creator, Joe Armstrong.
One of the most interesting sessions contained a talk by Thomas Glab on PAN, a Prolog compile-time analysis tool, followed by a talk by Fergus Henderson on Mercury. PAN uses special comments in ordinary Prolog code to help it check type, mode, determinism, and other properties. After it has finished, the same code can be passed to a standard Prolog compiler which will ignore the comments. Similar kinds of analyses are carried out by Mercury, but in the context of a new logic language. An advantage of PAN is that it can be used with legacy Prolog code, suitably annotated with the special comments. An advantage of Mercury is that its analysis information is used by the rest of the compilation process to substantially increase the code's execution speed. The discussion after the talks centered on which approach industry might prefer.
Another theme of the conference was the use of constraint logic programming. Phillipe Codognet gave a tutorial on clp(FD), and there were several application talks, on such topics as economic modeling, timetabling, circuit analysis, and tree drawing. David Gilbert cornered the market in this area, with no less than three papers.