Lecture Notes in Computer Science 1490 Edited by G. Goos, J. Hartmanis and J. van Leeuwen Catuscia Palamidessi Hugh Glaser Karl Meinke (Eds.) Principles of Declarative Programming 10th International Symposium, PLILP' 98 Held Jointly with the 6th International Conference, ALP'98 Pisa, Italy, September 16-18, 1998 Proceedings r e g n~ i r p S Series Editors Gerhard Goos, Karlsruhe University, Germany Juris Hartmanis, Cornell University, ,YN USA Jan van Leeuwen, Utrecht University, The Netherlands Volume Editors Catuscia Palamidessi The Pennsylvania State University Department of Computer Science and Engineering University Park, AP 16802-6106, USA E-mail: [email protected] Hugh Glaser University of Southampton Department of Electronics and Computer Science Highfield, Southampton, SO17 B1 J, UK E-mail: [email protected] Karl Meinke Royal Institute of Technology/NADA Osquars backe 2, S-10044 Stockholm, Sweden E-mail: [email protected] Cataloging-in-Publication data applied for Die Deutsche Bibliothek - ClP-Einheitsaufnahme Principles of declarative programming : proceedings / 10th International Symposium PLILP '98, held jointly with the 6th International Conference ALP '98, Pisa, Italy, September 16 - 18, 1998 / Catuscia Palamidessi ... (ed.). - Berlin ; Heidelberg ; New York ; Barcelona ; Budapest ; Hong Kong ; London ; Milan ; Paris ; Singapore ; Tokyo : Springer, 1998 (Lecture notes in computer science ; Vol. 1490) ISBN 3-540-65012-1 CR Subject Classification (1991): D.1, D.3, F.3, F.4, 1.2.1, 1.1.3, K.3.2 ISSN 0302-9743 ISBN 3-540-65012-1 Springer-Verlag Berlin Heidelberg New kroY This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the tights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer-Verlag. Violations are liable for prosecution under the German Copyright Law. (cid:14)9 Springer-Verlag Berlin Heidelberg 1998 Printed in Germany Typesetting: Camera-ready by author SPIN 10638855 06/3142 - 5 4 3 2 1 0 Printed on acid-free paper Preface This volume contains the proceedings of the Joint International Symposium PLILP/ALP '98, which has united the Tenth PLILP (Programming Languages, Implementations, Logics and Programs) and the Seventh ALP (Algebraic and Logic Programming) conferences. This symposium was held in Pisa, Italy, during September 16-18, in cooperation with the Fifth Static Analysis Symposium (SAS '98), chaired by Giorgio Levi, and in conjunction with a number of satellite events. The previous PLILP meetings took place in Orldans, France (1988), Linkbping, Sweden (1990), Passan, Germany (1991), Leuven, Belgium (1992), Tallinn, Es- tonia (1993), Madrid, Spain (1994), Utrecht, The Netherlands (1995), Aachen, Germany(1996), and Southampton, UK (1997). All proceedings have been pub- lished by Springer-Verlag as Lecture Notes in Computer Science, volumes 348, 456, 528, 631, 714, 844, 982, 1140, and 1292, respectively. The previous ALP meetings took place in Gaussig, Germany (1988), Nancy, France (1990), Volterra, Italy (1992), Madrid, Spain (1994), Aachen, Germany (1996), and Southampton, UK (1997). All proceedings have been published by Springer Verlag as Lecture Notes in Computer Science, volumes 343, 463, 632, 850, 1139, and 1298, respectively. The PLILP symposia traditionally aim at stimulating research in declara- tive programming languages, and seek to disseminate insights in the relation between the logics of those languages, implementation techniques, and the use of these languages in constructing real programs. The ALP conferences tradi- tionally promote the exchange of ideas and experiences among researchers from the declarative programming communities. In addition to the standard topics, the 98 Joint Symposium encouraged contributions also from other programming areas, in particular from the concurrent and object-oriented fields. The program committee met electronically during the second and third week of May, 1998, and selected 26 papers out of 68 submissions (38%). Besides the selected contributions, the scientific program included three invited talks, by Charles Consel (University of Rennes/Irisa, France), Amir Pnueli (Weizmann Institute of Science, Rehovot, Israel), and Scott A. Smolka (SUNY Stony Brook, USA). The last two presentations were shared with SAS '98. In addition, the program included three tutorials, by Andrea Asperti (University of Bologna, Italy), John Hannah (The Pennsylvania State University, USA), and Andrew Pitts (University of Cambridge, UK). This volume contains all the selected pa- pers, and the contributions (either in form of a short abstract or a full paper) of the invited speakers and tutorialists, except for the contribution of Amir Pnueli, which is included in the proceedings of SAS '98. We would like to thank all those who submitted papers, for their interest in PLILP/ALP '98, the Program Committee members and their referees, for their careful work in the reviewing and the selection process, and the invited speakers and tutorialists, for their contribution to the success of the symposium. vi Finally, we would like to express our gratitude to the members of the local committee, for the effort they have invested in organizing this event. July 8991 Catuscia Palamidessi, Hugh Glaser and Karl Meinke Program Committee Catuscia Palamidessi Penn State University, USA (Co-chair) Hugh Glaser University of Southampton, UK (Co-chair) Karl Meinke KTH, Sweden (Co-chair) Lex Augusteijn Philips Research, The Netherlands Frederic Benhamou University of Nantes, France Luca Cardelli Microsoft Research Ltd, UK Francois Fages CNRS, ENS, France Moreno Falaschi University of Udine, Italy Peter Kacsuk MTA SZTAKI Research Institute, Hungary Xavier Leroy INRIA, France Jean-Jacques Levy INRIA, France John Lloyd University of Bristol, UK Paola Mello University of Ferrara, Italy Eugenio Moggi University of Genova, Italy Peter Mosses BRICS, Denmark Gopalan Nadathur The University of Chicago, USA Jukka Paakki Helsinki University of Technology, Finland Simon Peyton Jones University of Glasgow, UK Benjamin Pierce Indiana University, USA Ernesto Pimentel University of Malaga, Spain Zoltan Somogyi University of Melbourne, Australia Peter Thiemann University of Nottingham, UK Yoshihito Toyama JAIST, Japan Peter Wegner Brown University, USA Reinhard Wilhelm University of Saarland, Germany Organizing Committee Maurizio Gabbrielli (Chair) Gianluca Amato, Roberto Bagnara, Roberto Giacobazzi, Roberta Gori, Ernesto Lastres, Giorgio Levi, Rene Moreno, Francesca Scozzari, Fausto Spoto, and Paolo Volpe. List of Referees Maria Alpuente, Christian Attiogbe, Lennart Augustsson, Roberto Bagnara, Rudolf Berghammer, Gilles Bernot, Richard Bird, Urban Boquist, Antony Bow- ers, Francisco Bueno, Carlos Canal, Maura Cerioli, Iliano Cervesato, Manuel .M T. Chakravarty, Anna Ciampolini, Lars R. Clausen, Graham Collins, Marco Co- mini, Charles Consel, Thomas Conway, Agostino Cortesi, Vitor Santos Costa, Olivier Danvy, Giorgio Delzanno, Enrico Denti, Stephan Diehl, Agostino Dovier, Tyson Dowd, Kent Dybvig, Kerstin Eder, Christian Ferdinand, Gerard Ferrand, Gilberto Fil~, Peter Flach, Gianluca Franco, John Gallagher, Maria del Mar Gal- lardo, Benedict R. Gaster, .P .M H. .M A. Gorissen, Frederic Goualard, Laurent Granvilliers, Andy Gravell, Steve Gregory, Gopal Gupta, John Hannan, Michael Hanus, Therese Hardin, Reinhold Heckmann, Fergus Henderson, Miki Hermann, Kohei Honda, Jan Hoogerbrugge, Herman ter Horst, Graham Hutton, Tetsuo Ida, Bart Jacobs, Tomi Janhunen, Barry Jay, Bharat Jayaraman, David Jeffery, Johan Jeuring, Thomas Johnsson, Paul .H J. Kelly, Richard Kelsey, Siau Cheng Khoo, Helene Kirchner, Herbert Kuchen, Francois Laburthe, Laura Lafave, Ar- naud Lallouet, Evelina Lamina, Cosimo Laneve, Giorgio Levi, Michael Levin, Frank van der Linden, Jorge Lobo, Rita Loogen, Salvador Lucas, Simon Marlow, Luc Maranget, Maurizio Martelli, Erik Meijer, Aart Middeldorp, Michela Milano, Dale Miller, Juan Miguel Molina, Rafael Morales, Pierre-Etienne Moreau, Jon Mountjoy, Manfred Muench, Lee Naish, Zsolt Nemeth, Ilkka Niemel~i, Ulrich Nitsche, Michael J. O'Donnell, Atsushi Ohori, Chris Okasaki, Javier Oliver, An- drea Omicini, Luke Ong, Wouter van Oortmerssen, Vincent van Oostrom, Bruno Pagano, David Pearce, Susanna Pelagatti, Javier Piris, Andreas Podelski, Nor- bert Podhorszki, Maria Jose Ramirez, Francesco Ranzato, Jakob Rehof, Gilles Richard, Fabrizio Riguzzi, Christophe Ringeissen, Kristoffer H. Rose, Salvatore Ruggieri, David E. Rydeheard, Amr Sabry, Mooly Sagiv, Masahiko Sakai, David Sands, Davide Sangiorgi, Frederic Saubion, Peter Schachte, Tony Scurr, Hel- mut Seidl, Peter Sestoft, Sylvain Soliman, Harald Sondergaard, Michael Sperber, Fausto Spoto, Cesare Stefanelli, Peter Stuckey, Taro Suzuki, Val Tannen, Simon Taylor, David N. Turner, German Vidal, Paolo Volpe, Fer-Jan de Vries, Philip Wadler, David Wakeling, Roland Yap, Hirofumi Yokouchi, Enea Zaffanella, and Hans Zantema. viii Joint events Chair: Roberto Bagnara The SAS/PLILP/ALP '98 conference was held in conjunction with the following satellite events: The Workshop on Principles of Abstract Machines. Organized by Stephan Diehl and Peter Sestoft. The 1st International Workshop on Component-based software development in Computational Logic. Organized by Antonio Brogi and Patricia Hill. The Second International Workshop on Verification, Model Checking and Ab- stract Interpretation. Organized by Annalisa Bossi, Agostino Cortesi, and Francesca Levi. The ERCIM Working Group on Programming Languages. Coordinated by Neil Jones. Sponsors of SAS/PLILP/ALP '98 Universith di Pisa Compulog Network CNR-Gruppo Nazionale di Informatica Matematica Consiglio Nazionale delle Ricerche Comune di Pisa Unione Industriali di Pisa Table of Contents Verification: Invited Paper Logic Programming and Model Checking ................................. Baoqiu Cui, Yifei Dong, Xiaoqun Du, K. Narayan Kumar, .C R. Ramakrishnan, I. .V Ramakrishnan, Abhik Roychoudhury, Scott A. Smolka and David S. Warren Logic Programming I CAT: The Copying Approach to Tabling ................................ 21 Bart Demoen and Konstantinos Sagonas SICStus MT - A Multithreaded Execution Environment for SICStus Prolog 36 Jesper Eskilson and Mats Carlsson A Framework for Bottom Up Specialisation of Logic Programs ........... 54 Wire Vanhoof, Danny De Schreye and Bern Martens Termination of Logic Programs with block Declarations Running in Several Modes .......................................................... 73 Jan-Georg Smaus, Pat Hill and Andy King Static Analysis The Boolean Logic of Set Sharing Analysis .............................. 89 Michael Codish and Harald Scndergaard Derivation of Proof Methods by Abstract Interpretation ................ 102 Giorgio Levi and Paolo eploV Detecting Unsolvable Queries for Definite Logic Programs .............. 118 Maurice Bruynooghe, Henk Vandecasteele, D. Andre ed Waal and Marc Denecker Staging Static Analyses Using Abstraction-Based Program Specialization 134 John Hatcliff, Matthew Dwyer and Shawn Laubach An Experiment in Domain Refinement: Type Domains and Type Representations for Logic Programs .................................... 152 Giorgio Levi and Fausto Spoto Software Methodologies: Invited Paper Architecturing Software Using: A Methodology for Language Development 170 Charles Consel and Renaud Marlet Object Oriented Programming Explicit Substitutions for Objects and Functions ....................... 591 Delia Kesner and Pablo E. Martinez L6pez The Complexity of Late-Binding in Dynamic Object-Oriented Languages 312 Enrico Pontelli, Desh Ranjan and Gopal Gupta Term Rewriting A Compiler for Rewrite Programs in Associative-Commutative Theories 032 Pierre-Etienne Moreau and Hdl~ne Kirchner Solution to the Problem of Zantema on a Persistent Property of Term Rewriting Systems ..................................................... 052 Takahito Aoto A General Framework for R-Unification Problems ...................... 662 Sgbastien Limet and Frdddric Saubion Semantics: Tutorial Operational Versus Denotational Methods in the Semantics of Higher Order Languages ...................................................... 282 Andrew M. Pitts Functional Programming Functional Implementations of Continuous Modeled Animation ......... 482 Conal Elliott Compiling Erlang to Scheme ........................................... 003 Marc Feeley and Martin Larose From (Sequential) Haskell to (Parallel) Eden: An Implementation Point of View ................................................................ 813 Silvia Breitinger, Ulrike Klusik and Rita Loogen Mobile HaskeU: Compiling Lazy Functional Programs for the Java Virtual Machine ....................................................... 533 David Wakeling Metaprogramming: Tutorial Program Analysis in ~Prolog ........................................... 353 John Hannah xi Logic Programming II A Game Semantics Foundation for Logic Programming ................. 553 Roberto Di Cosmo, Jean-Vincent Loddo and Stephane Nicolet Controlling Search in Declarative Programs ............................ 374 Michael Hanus and Frank Steiner Encapsulating Data in Logic Programming via Categorical Constraints . 193 James Lipton and Robert McGrail Constructive Negation Using Typed Existence Properties ............... 114 John .G Cleary and Lunfin Lu Optimal Evaluation: Tutorial Optimal Reduction of Functional Expressions .......................... 724 Andrea Asperti Integration Embedding Multiset Constraints into a Lazy Functional Logic Language 924 P. Arenas-Sdnchez, F.J. LSpez-Fraguas, M. Rodriguez-Artalejo A Hidden Herbrand Theorem .......................................... 544 Joseph Goguen, Grant Malcolm and Tom Kemp Constraint Solving Integrating Constraint Propagation in Complete Solving of Linear Diophantine Systems .................................................. 364 Farid Ajili and Hendrik C.R. Lock Approaches to the Incremental Detection of Implicit Equalities with the Revised Simplex Method ........................................... 184 Philippe Refalo Author Index ........................................................ 794
Description: