Together with the Seventh International ACM SIGPLAN Conference on Functional Programming (ICFP'02), the Generative Programming and Component Engineering Conference (GPCE'02) and a number of associated workshops, PPDP'02 has formed a federation of conferences known as Colloquium on Principles, Logics, and Implementations of high-level programming languages (PLI 2002). Previous PLI colloquia were held in Paris, in September 1999, in Montréal, in September 2000 and in Firenze, in September 2001. These events are organized by SIGPLAN, ACM's Special Interest Group on Programming Languages.PPDP aims to stimulate research on the use of declarative methods in programming and on the design, implementation and application of programming languages that support such methods. Topics of interest include any aspect related to understanding, integrating and extending programming paradigms such as those for logic, functional, constraint, probabilistic, rule and object-oriented programming; concurrent extensions and mobile computing; type theory; support for modularity; use of logical methods in the design of program development tools; program analysis and verification; abstract interpretation; development of implementation methods; application of the relevant paradigms and associated methods in industry and education.A total of 36 submissions (33 regular papers and 3 system descriptions) were received in response to the call for papers. The ConfMan conference management system was used for the handling of electronic submissions, for allocation of reviewing duties, and for filing of reviews. The program committee meeting was conducted electronically. Each paper was reviewed by at least three referees and 18 papers including 2 system presentations were selected for publication.Because practice has an important place in the conference, we decided to give to system presentations a similar place in the proceedings and in the program than to the regular papers.In addition to the selected presentations, the scientific program included three invited talks, by Neil Jones (University of Copenhagen), Catuscia Palamidessi (The Pennsylvania State University), and Janos Sztipanovits (Vanderbilt University).
Abstract and conclusions of PLI invited paper: program generation, termination, and binding-time analysis
Recent research suggests that the goal of fully automatic and reliable program generation for a broad range of applications is coming nearer to feasibility. However, several interesting and challenging problems remain to be solved before it becomes a ...
Towards a primitive higher order calculus of broadcasting systems
Ethernet-style broadcast is pervasive style of computer communication.In this style,the medium is single nameless channel.Previous work on modelling such systems proposed .rst order process calculus called CBS.In this paper, we propose fundamentally ...
Coercion as homomorphism: type inference in a system with subtyping and overloading
A type system with atomic subtyping and a special form of operator overloading, which we call offset-homomorphism is proposed. A set of operator overloadings is said to be offset-homo-morphic when for each pair of overloadings the coercion function ...
Semantic analysis of normalisation by evaluation for typed lambda calculus
This paper studies normalisation by evaluation for typed lambda calculus from a categorical and algebraic viewpoint. The first part of the paper analyses the lambda definability result of Jung and Tiuryn via Kripke logical relations and shows how it can ...
Automated protocol verification in linear logic
In this paper we investigate the applicability of a <i>bottom-up evaluation strategy</i> for a first order fragment of linear logic [7] for the purposes of automated validation of <i>authentication protocols</i>. Following [11], we use <i>multi-...
Modular termination of context-sensitive rewriting
Context-sensitive rewriting (CSR) has recently emerged as an interesting and flexible paradigm that provides a bridge between the abstract world of general rewriting and the (more) applied setting of declarative specification and programming languages ...
System Presentation -- CARIBOO: An induction based proof tool for termination with strategies
We describe Cariboo, the implementation of an inductive process recently proposed to prove termination of rewriting under strategies on ground term algebras. The method is based on an abstraction mechanism, introducing variables that represent ground ...
Secure calling contexts for stack inspection
Stack inspection is a mechanism for programming secure applications by which a method can obtain information from the call stack about the code that (directly or indirectly) invoked it. This mechanism plays a fundamental role in the security ...
Combining an improvement to PARMA trailing with trailing analysis
Trailing of bindings in the PARMA variable representation is expensive in time and space. Two schemes are presented that lower its cost: the first is a technique that halves the space cost of trailing in PARMA. It can be used with conditional and ...
Precise pair-sharing analysis of logic programs
The paper presents a novel approach to pair-sharing analysis of logic programs. The pair-sharing domain ASub of Søndergaard is known to be more efficient than the set-sharing domain Sharing of Jacobs and Langen and gains accuracy because of linearity ...
Constraint-based mode analysis of mercury
Recent logic programming languages, such as Mercury and HAL, require type, mode and determinism declarations for predicates. This information allows the generation of efficient target code and the detection of many errors at compile-time. Unfortunately, ...
Using the heap to eliminate stack accesses
The value of a variable is often given by a field of a heap cell, and frequently the program will pick up the values of several variables from different fields of the same heap cell. By keeping some of these variables out of the stack frame, and ...
Transforming the .NET intermediate language using path logic programming
Path logic programming is a modest extension of Prolog for the specification of program transformations. We give an informal introduction to this extension, and we show how it can be used in coding standard compiler optimisations, and also a number of ...
A generic operator over discrete time intervals
We define a new generic operator, ∇, which can be used within any programming language which allows one to define discrete time intervals. Let Τ<inf>0</inf>, ..., Τ<inf>n</inf> be the consecutive instants of an interval I, u a term and v<inf>Τ<inf>i</...
On the expressive power of temporal concurrent constraint programming languages
The tcc paradigm is a formalism for timed concurrent constraint programming. Several tcc languages differing in their way of expressing infinite behavior have been proposed in the literature. In this paper we study the expressive power of some of these ...
Functional reactive robotics: an exercise in principled integration of domain-specific languages
Software for (semi-) autonomous robots tends to be a complex combination of components from many different application domains such as control theory, vision, and artificial intelligence. Components are often developed using their own domain-specific ...
Generative programming for embedded systems
Composition and component-based design are key tools of modern software engineering for managing complexity. The concept of component-based design is straightforward: systems are built by composing software components with precisely defined interfaces ...
Full integration of subtyping and if-expression
The combination of full subsumption and conditional expression is a challenging problem, because in such a system, a term might not have a type which is a representative of all types of the term. Therefore, the traditional type checking technique fails. ...
True separate compilation of Java classes
We define a type system modeling true separate compilation for a small but significant Java subset, in the sense that a single class declaration can be intra-checked (following the Cardelli's terminology) and compiled providing a minimal set of type ...
Java bytecode as a typed term calculus
We propose a type system for the Java bytecode language, prove the type soundness, and develop a type inference algorithm. In contrast to the existing proposals, our type system yields a typed term calculus similar to type systems of lambda calculi. ...