Peter Van Roy
Université catholique de Louvain
Département d'Ingénierie Informatique
Catholic University of Louvain
Department of Computing Science and Engineering
Place Sainte Barbe, 2
B-1348 Louvain-la-Neuve, Belgium
Phone: (++32) (10) 47 83 74
Fax: (++32) (10) 45 03 45
E-mail: pvr@info.ucl.ac.be
“The only way to reach perfection is to venture a little way beyond it into imperfection.”
— Van Roy's corollary to Clarke's Second Law.
Centres d'intérêt scientifiques / Scientific interests
Cours enseignés cette année / Courses taught
this year
Books and courses (livres et cours)
This textbook is designed for second-year to graduate courses in computer
programming. It covers all major programming concepts, techniques, and paradigms
in a unified framework. It is based on the kernel language approach,
in which practical languages and paradigms are translated to simple kernel
languages, which consist of small numbers of programmer-significant concepts.
This shows the deep relationships between the paradigms and how to use them
together.
The book is both practical and theoretically sound. It is
full of practical techniques: there are more than a thousand programs and
program fragments, all of which can be run on a computer using the Mozart
Programming System. In addition, it gives a formal semantics for all concepts
at a level that is usable by practicing programmers.
Highlights of the book include an in-depth treatment of concurrent
programming (including dataflow, lazy evaluation, active objects, monitors,
and transactions) and three areas where the advantages of its multiparadigm
approach show up clearly: graphic user interface programming, distributed
programming, and constraint programming.
Ce livre est une traduction partielle du précédent.
Il couvre mon cours de deuxième année.
Il vient avec deux suppléments: un logiciel Labo interactif
édité par ScienceActive qui permet d'exécuter et de modifier tous les exemples,
et un jeu complet de transparents.
- Systems supported: Many Unix platforms, Windows 95/98/NT
- Developers:
- DFKI, UdS, and SFB 378
(German Research Center for Artificial Intelligence
and Universität des Saarlandes)
- SICS
(Swedish Institute of Computer Science)
- UCL
(Université catholique de Louvain)
- Mozart 1.0 is a major new development platform for
open fault-tolerant distributed applications, constraint programming
applications, and logic programming applications. The platform
includes a full-fledged development environment with many tools and
extensive documentation including tutorials. Applications developed
include
a collaborative graphic editor
(TransDraw),
an extended version of ICQ
(MIM),
a corpus browser,
a real-time bus scheduler, a configuration tool,
and much more. The platform is released with a very liberal license
(X11-style) that
allows both commercial and non-commercial use. Full source code is
available.
- Mozart 1.0 implements the Oz 3 language,
which is almost completely upward-compatible with its predecessor Oz 2
(see DFKI Oz 2.0).
The main extensions are functors (a kind of software component)
and futures (for secure dataflow behavior). Oz 2 is itself a successor
to the original Oz 1 language, whose implementation was first released
publicly in 1995.
- System supported: Macintosh.
- Developer: Peter Van Roy.
- FractaSketch 2.03 is a drawing tool for Macintosh that
allows you to quickly design and draw beautiful images
of great complexity and subtle colorization.
The full release is now available free of charge
as a Stuffit 3.5 SEA (self-extracting)
archive by clicking on the above link.
The release contains the program and manual,
both in English and French versions,
and a wide variety of striking original drawings.
- I am looking for people to do ports to PowerMac (easy)
and Windows (hard).
Please contact me if you are interested.
-
DFKI Oz 2.0: A programming system
for concurrent, symbolic, constraint-based, and distributed applications.
-
Logical State Threads 0.1: A tool to simplify the
development of large Prolog programs.
-
Wild_Life 1.01: A successor to Prolog
with more support for natural language and knowledge representation.
-
FractaSketch 2.0 (patented): A drawing tool
for designing and colorizing highly complex stylized
natural and geometric shapes by direct manipulation.
-
Aquarius Prolog 1.0: A high-performance Prolog system
that is competitive with C on a significant class of programs.
Informations supplémentaires / Further information