Partial evaluation reconciles generality with efficiency by providing automatic specialization and optimization of programs. This book covers the entire field of partial evaluation; provides simple and complete algorithms; and demonstrates that specialization can increase efficiency.
This work, a tribute to renowned researcher Robert Paige, is a collection of revised papers published in his honor in the Higher-Order and Symbolic Computation Journal in 2003 and 2005. Among them there are two key papers: a retrospective view of his research lines, and a proposal for future studies in the area of the automatic program derivation. The book also includes some papers by members of the IFIP Working Group 2.1 of which Bob was an active member.
The functional logic programming paradigm combines the two most important fields of declarative programming, namely functional and logic programming, in an integrated way to allow the concise notation of high-level programs. However, the variety of concepts and conciseness of programs may also impact their efficiency. In this work we employ the powerful optimization technique of partial evaluation to develop a fully automatic program optimizer, the so-called partial evaluator. In particular, we formalize the normalization of programs during compilation, establish a formal notation of the evaluation process, develop a formal partial evaluation scheme and prove its correctness and termination, and implement a working partial evaluator which shows impressive results.
As the complexity of software increases, researchers and practicioners continue to seek better techniques for engineering the construction of evolution of software. Partial evaluation is an attractive technology for modern software construction since it provides automatic tools for software specialization and is based on rigorous semantic foundations. This book is based on a school held at DIKU Copenhagen, Denmark in summer 1998 during which leading researchers summarized the state of the art in partial evaluation. The lectures presented survey the foundations of partial evaluation in a clear and rigorous manner and practically introduce several existing partial evaluators with numerous examples. The second part of the book is devoted to more sophisticated theoretical aspects, advances systems and applications, and highlights open problems and challenges. The book is ideally suited for advanced courses and for self study.
This book constitutes the strictly refereed post-workshop proceedings of the Sixth International Workshop on Logic Program Synthesis and Transformation, LOPSTR'96, held on board a ship sailing from Stockholm to Helsinki, in August 1996. The 17 revised full papers were carefully selected from a total of initially 27 submissions. The topics covered range over the areas of synthesis of programs from specifications, verification, transformation, specialization, and analysis of programs, and the use of program schemata in program development.
This book constitutes the refereed proceedings of the 5th International Symposium on Functional and Logic Programming, FLOPS 2001, held in Tokyo, Japan in March 2001. The 21 revised full papers presented together with three invited papers were carefully reviewed and selected from 40 submissions. The book offers topical sections on functional programming, logic programming, functional logic programming, types, program analysis and transformation, and Lambda calculus.
This book constitutes the refereed proceedings of the Eighth International Symposium on Programming Languages, Implementations, Logics, and Programs, PLILP '96, held in conjunction with ALP and SAS in Aachen, Germany, in September 1996. The 30 revised full papers presented in the volume were selected from a total of 97 submissions; also included are one invited contribution by Lambert Meerlens and five posters and demonstrations. The papers are organized in topical sections on typing and structuring systems, program analysis, program transformation, implementation issues, concurrent and parallel programming, tools and programming environments, lambda-calculus and rewriting, constraints, and deductive database languages.
Themessagepassingparadigmisconsideredthemoste?ectivewaytodevelop- ?cient parallel applications. PVM (Parallel Virtual Machine) and MPI (Message Passing Interface) are the most frequently used tools for programming message passing applications. This volume includes the selected contributions presented at the 10th - ropean PVM/MPI Users’ Group Meeting (Euro PVM/MPI 2003), which was held in Venice, Italy, September 29–October 2, 2003. The conference was jointly organized by the Department of Computer Science of the Ca’ Foscari University of Venice, Italy and the Information Science and Technologies Institute of the National Research Council (ISTI-CNR), Pisa, Italy. TheconferencewaspreviouslyheldinLinz,Austria(2002),Santorini,Greece (2001), Balatonfured, ̈ Hungary (2000), Barcelona, Spain (1999), Liverpool, UK (1998), and Krakow, Poland (1997). The ?rst three conferences were devoted to PVM and were held in Munich, Germany (1996), Lyon, France (1995), and Rome, Italy (1994). The conference has become a forum for users and developers of PVM, MPI, and other message passing environments. Interactions between these groups has proved to be very useful for developing new ideas in parallel computing, and for applying some of those already existent to new practical ?elds. The main topics of the meeting were evaluation and performance of PVM and MPI, ext- sions, implementations and improvements of PVM and MPI, parallel algorithms using the message passing paradigm, and parallel applications in science and engineering. In addition, the topics of the conference were extended to include Grid computing, in order to re?ect the importance of this area for the hi- performance computing community.
This book constitutes the refereed proceedings of the 20th International Conference on Information and Software Technologies, ICIST 2014, held in Druskininkai, Lithuania, in October 2014. The 34 papers presented were carefully reviewed and selected from 68 submissions. The papers are organized in topical sections such as information systems; business intelligence for information and software systems; software engineering; information technology applications.
By presenting state-of-the-art aspects of the theory of computation, this book commemorates the 60th birthday of Neil D. Jones, whose scientific career parallels the evolution of computation theory itself. The 20 reviewed research papers presented together with a brief survey of the work of Neil D. Jones were written by scientists who have worked with him, in the roles of student, colleague, and, in one case, mentor. In accordance with the Festschrift's subtitle, the papers are organized in parts on computational complexity, program analysis, and program transformation.