C o m p u t a t i o n a l    L o g i c

ILPS'97 Workshop on Specialization of Declarative Programs and its Applications


ILPS'97 Workshop on Specialization of Declarative Programs and its Applications

Michael Leuschel

The aim of this workshop was to discuss new trends, ideas and developments concerning the specialization of declarative languages, especially geared towards trying to exploit the advantages of these languages in practice. The workshop was thereby not limited to the field of logic programming - contributions from other fields involved with the declarative programming paradigm, like e.g. functional programming, were invited for presentation and cross-fertilization was sought.

The workshop was held on Thursday, October 16th 1997, Port Jefferson, New York. The program committee consisted of Saumya Debray, John Gallagher, Manuel Hermenegildo, Neil Jones and Michael Leuschel (worshop coordinator).

The morning session was followed by 23 people, exceeding initial expectations (given the large number of workshops). After lunch this figure dropped due to competition from the workshops on verification and tools.

The morning session was lead off by Abhik Roychoudhury who presented a specialization technique for logic programs which ensures that no efficiency loss can occur, even on the level of bindings; an issue which is often (always) overlooked in existing specialization systems. Thereafter Philippe Ezequel presented a non-standard and interesting view of specialization - based on so-called generators - emanating from query processing in deductive databases.

The talks by German Puebla and Wim Vanhoof both addressed the issue of integrating the bottom-up propagation of abstract interpretation into specialization techniques. In the former talk a partial evaluation method was derived from an existing abstract interpretation system and the talk was complemented by an impressive demo. In the latter "classical" partial deduction was augmented by bottom-up propagation of facts in order to achieve, among others, improved specialization of meta-interpreters.

The invited talk by Kostis Sagonas concluded the morning session. It presented interesting ways in which tabling and tabled logic programming can be useful for specialization. It, however, also touched upon how to specialize tabled logic programs themselves and showed the surprising complications that arise in that setting.

The afternoon session began with the talk by Anne Parrain which showed how specialization is used at Dassault Electronique to enable a high-level programming methodology. The talk also presented an aggregating transformation aimed at improving the readability of (residual) programs. Thereafter, Dmitri Boulanger gave an invited talk problem-oriented specialization. A criterion, in terms of "goal-relevant atoms", was given on when specialization is likely to be beneficial. Ways in which model-based abstract interpretation can be used for specialization were also presented.

The last session of the workshop was devoted to functional programming. First, Husain Ibraheem presented a way to use on-line partial evaluation to achieve static analysis of incomplete or modular programs. Joao Saraiva then presented a technique to specialize functional programs that perform multiple traversals over a tree by using attribute grammars. Unfortunately neither Neil Jones nor Saumya Debray were able to attend the workshop and their paper on "data representation specialization" - the dual of program code specialization - could thus not be presented.

The proceedings can be obtained electronically via: http://www.cs.kuleuven.ac.be/~michael/workshop.html

For additional hard copies contact Michael Leuschel at: michael@cs.kuleuven.ac.be

Coordinator's Report ] LOPSTR'97: Seventh International Workshop on Logic Program Synthesis and Transformation. ] [ ILPS'97 Workshop on Specialization of Declarative Programs and its Applications ] LOPSTR'98 ] Detecting and Exploiting Determinacy in Logic Programs ] The DiSCiPl Project: Debugging Systems for Constraint Programming ]

Home ] Automated Deduction Systems ] Computational Logic & Machine Learning ] Concurrent & Constraint Logic Programming ] Language Design, Semantics & Verification Methods ] Logic Based Databases ] Program Development ] Knowledge Representation & Reasoning ]