Programming Language Implementation and Logic Programming


Book Description

This volume contains the papers which have been accepted for presentation atthe Third International Symposium on Programming Language Implementation andLogic Programming (PLILP '91) held in Passau, Germany, August 26-28, 1991. The aim of the symposium was to explore new declarative concepts, methods and techniques relevant for the implementation of all kinds of programming languages, whether algorithmic or declarative ones. The intention was to gather researchers from the fields of algorithmic programming languages as well as logic, functional and object-oriented programming. This volume contains the two invited talks given at the symposium by H. Ait-Kaci and D.B. MacQueen, 32 selected papers, and abstracts of several system demonstrations. The proceedings of PLILP '88 and PLILP '90 are available as Lecture Notes in Computer Science Volumes 348 and 456.




Equational Logic as a Programming Language


Book Description

This book describes an ongoing equational programming project that started in 1975. Within the project an equational programming language interpreter has been designed and implemented. The first part of the text (Chapters 1-10) provides a user's manual for the current implementation. The remaining sections cover the following topics: programming techniques and applications, theoretical foundations, implementation issues. Giving a brief account of the project's history (Chapter 11), the author devotes a large part of the text to techniques of equational programming at different levels of abstraction. Chapter 12 discusses low-level techniques including the distinction of constructors and defined functions, the formulation of conditional expressions and error and exception handling. High-level techniques are treated in Chapter 15 by discussing concurrency, nondeterminism, the relationship to dataflow programs and the transformation of recursive programs called dynamic programming. In Chapter 16 the author shows how to efficiently implement common data structures by equational programs. Modularity is discussed in Chapter 14. Several applications are also presented in the book. The author demonstrates the versatility of equational programming style by implementing syntactic manipulation algorithms (Chapter 13). Theoretical foundations are introduced in Chapter 17 (term rewriting systems, herein called term reduction systems). In Chapter 19 the author raises the question of a universal equational machine language and discusses the suitability of different variants of the combinator calculus for this purpose. Implementation issues are covered in Chapters 18 and 20 focused around algorithms for efficient pattern matching, sequencing and reduction. Aspects of design and coordination of the syntactic processors are presented as well.




Programming Language Implementation and Logic Programming


Book Description

This volume constitutes the proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming (PLILP '94), held in Madrid, Spain in September 1994. The volume contains 27 full research papers selected from 67 submissions as well as abstracts of full versions of 3 invited talks by renowned researchers and abstracts of 11 system demonstrations and poster presentations. Among the topics covered are parallelism and concurrency; implementation techniques; partial evaluation, synthesis, and language issues; constraint programming; meta-programming and program transformation; functional-logic programming; and program analysis and abstract interpretation.




The Reasoned Schemer, second edition


Book Description

A new edition of a book, written in a humorous question-and-answer style, that shows how to implement and use an elegant little programming language for logic programming. The goal of this book is to show the beauty and elegance of relational programming, which captures the essence of logic programming. The book shows how to implement a relational programming language in Scheme, or in any other functional language, and demonstrates the remarkable flexibility of the resulting relational programs. As in the first edition, the pedagogical method is a series of questions and answers, which proceed with the characteristic humor that marked The Little Schemer and The Seasoned Schemer. Familiarity with a functional language or with the first five chapters of The Little Schemer is assumed. For this second edition, the authors have greatly simplified the programming language used in the book, as well as the implementation of the language. In addition to revising the text extensively, and simplifying and revising the “Laws” and “Commandments,” they have added explicit “Translation” rules to ease translation of Scheme functions into relations.




Programming Languages: Concepts and Implementation


Book Description

Programming Languages: Concepts and Implementation teaches language concepts from two complementary perspectives: implementation and paradigms. It covers the implementation of concepts through the incremental construction of a progressive series of interpreters in Python, and Racket Scheme, for purposes of its combined simplicity and power, and assessing the differences in the resulting languages.




Programming Language Implementation and Logic Programming


Book Description

This volume consists of the papers accepted for presentation at the second international workshop on Programming Language Implementation and Logic Programming (PLILP '90) held in Linköping, Sweden, August 20-22, 1990. The aim of the workshop was to identify concepts and techniques used both in implementation of programming languages, regardless of the underlying programming paradigm, and in logic programming. The intention was to bring together researchers working in these fields. The volume includes 26 selected papers falling into two categories. Papers in the first category present certain ideas from the point of view of a particular class of programming languages, or even a particular language. The ideas presented seem to be applicable in other classes of languages. Papers in the second category directly address the problem of integration of various programming paradigms. The proceedings of the predecessor workshop PLILP '88, held in Orléans, France, May 16-18, 1988, are available as Lecture Notes in Computer Science, Vol. 348.




The Art of Prolog, second edition


Book Description

This new edition of The Art of Prolog contains a number of important changes. Most background sections at the end of each chapter have been updated to take account of important recent research results, the references have been greatly expanded, and more advanced exercises have been added which have been used successfully in teaching the course. Part II, The Prolog Language, has been modified to be compatible with the new Prolog standard, and the chapter on program development has been significantly altered: the predicates defined have been moved to more appropriate chapters, the section on efficiency has been moved to the considerably expanded chapter on cuts and negation, and a new section has been added on stepwise enhancement—a systematic way of constructing Prolog programs developed by Leon Sterling. All but one of the chapters in Part III, Advanced Prolog Programming Techniques, have been substantially changed, with some major rearrangements. A new chapter on interpreters describes a rule language and interpreter for expert systems, which better illustrates how Prolog should be used to construct expert systems. The chapter on program transformation is completely new and the chapter on logic grammars adds new material for recognizing simple languages, showing how grammars apply to more computer science examples.




Logic Programming with Prolog


Book Description

Written for those who wish to learn Prolog as a powerful software development tool, but do not necessarily have any background in logic or AI. Includes a full glossary of the technical terms and self-assessment exercises.







Computing with Logic


Book Description

Computing with logic / Maier, D., Warren, D.S.