|
Showing 1 - 6 of
6 matches in All Departments
Coordinating production across a supply chain, designing a new VLSI
chip, allocating classrooms or scheduling maintenance crews at an
airport are just a few examples of complex (combinatorial) problems
that can be modeled as a set of decision variables whose values are
subject to a set of constraints. The decision variables may be the
time when production of a particular lot will start or the plane
that a maintenance crew will be working on at a given time.
Constraints may range from the number of students you can 't in a
given classroom to the time it takes to transfer a lot from one
plant to another.Despiteadvancesincomputingpower,
manyformsoftheseandother combinatorial problems have continued to
defy conventional programming approaches. Constraint Logic
Programming (CLP) ?rst emerged in the mid-eighties as a programming
technique with the potential of signi?cantly reducing the time it
takes to develop practical solutions to many of these problems, by
combining the expressiveness of languages such as Prolog with the
compu- tional power of constrained search. While the roots of CLP
can be traced to Monash University in Australia, it is without any
doubt in Europe that this new software technology has gained the
most prominence, bene?ting, among other things, from sustained
funding from both industry and public R&D programs over the
past dozen years. These investments have already paid o?, resulting
in a number of popular commercial solutions as well as the creation
of several successful European startups.
From the viewpoint of an "industrial" this book is most welcome, as
one of the most significant demonstrations of the maturity of
Prolog. Logic programming is a fascinating area in computer
science, which held for years - and still does - the promise of
freeing ourselves from programming based on the "Von Neumann"
machine. In addition computer programming has long been for solid
theoretical foundations. While conventional engineering, dealing
mainly with "analogical complexity," developed over some hundred
years a complete body of mathematical tools, no such toolset was
available for "digital complexity." The only mathematical
discipline which deals with digital complexity is logic and Prolog
is certainly the operational tool which comes closest to the
logical programming ideal. So, why does Prolog, despite nearly
twenty years of development, still appear to many today to be more
of a research or academic tool, rather than an industrial
programming language? A few reasons may explain this: First, I
think Prolog suffers from having been largely assimilated into -
and thus followed the fate of - Artificial Intelligence. Much hype
in the late 1980 created overexpectations and failed to deliver,
and the counterreaction threw both AI and Prolog into relative
obscurity. In a way, maybe this is a new chance for the Prolog
community: the ability to carry out real work and progress without
the disturbance of limelights and the unrealistic claims of various
gurus. Second, programming in Prolog is a new experience for
computer professionals.
Attribute grammars were introduced over twenty years ago, but they
are still not as widely used as could have been hoped initially.
This is particularly so in industry, despite their qualities as a
specification tool. The aim of this International Workshop on
Attribute Grammars and their Applications (WAGA), the first to be
entirely devoted to this topic, was to show that they are still the
subject of active research and now lead to important, useful and
practical applications in various areas. The workshop covered all
aspects of attribute grammars, with an emphasis on practical
results. This volume includes the text of the three invited talks
and 21 submitted papers presented at the workshop. This selection
provides a wide view of the diverse research being done in the
area. Topics include: - Fundamentals: efficient exhaustive and
incremental at- tribute evaluation methods, parallel evaluation,
space optimization, relationships with functional, logic and
object-oriented programming, and systems. - Applications: compiler
construction, natural language processing, and interactive program
manipulation.
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 LinkAping,
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 OrlA(c)ans, France, May 16-18, 1988, are available as
Lecture Notes in Computer Science, Vol. 348.
The aim of the workshop was to discuss whether research on
implementation of programming languages and research on logic
programming can mutually benefit from each others results. The
intention was to bring together researchers from both fields,
especially those working in the area of their intersection.
Problems such as formal specification of compilers and syntax-based
editors, program analysis and program optimization have been
traditionally studied by implementors of algorithmic languages and
have resulted in a number of well-established notions, formalisms
and techniques. At the same time, an increasing number of people
use logic programming as a way of specifying compilers or other
programming environment tools, taking advantage of the relatively
high level of logic programming and the growing efficiency of
Prolog implementations. On the other hand, research on logic
programming raises the questions of analysis of logic programs and
their optimization. These are motivated primarily by compiler
construction for logic programs, by studies on the methodology of
logic programming and by the attempts to amalgamate logic
programming and functional programming. The purpose of the workshop
is to review the techniques developed in one (or both) of the
fields which could also be of some help in the other one and to
facilitate the transfer of expertise. It seems important to compare
notions used in both fields: showing similarities between them may
prevent rediscovering results already known, while studying
differences may contribute to the transfer of technology.
Attribute Grammars have turned into one of the most fundamental
formalisms of modern Computer Science. Since 1968 when Knuth
introduced the basic concepts, they have been the subject of a very
large amount of literature, proving the importance of the area and
the broad range of its applications. The aim of the book is to put
at the disposal of researchers and students, but also of engineers
interested in applications, the most important definitions and
results known to date in this youthful domain. This seemed best
achieved by a survey including three parts: 1) A state-of-the-art
review of the main results and of the most promising research
directions: this part aims at being both an aid for the reader in
understanding the bibliography, by presenting the results using a
unified vocabulary together with numerous pointers to the
literature, and also an incitement to go into further results and
research areas. 2) A presentation of most of the systems dealing
with Attribute Grammars: the main interest in this part lays in the
presentation of the implementation choices and of the applications.
This part is the "practical" side of the book, emphasizing the
point of view of "design" which can outline the differences between
a theoretical idea and the way it can be implemented. 3) A
bibliography including about 600 titles on the domain, together
with a thematic index enabling readers to find their way easily in
accordance with their own points of interest.
|
|