FGCS Assessment
Gilles Kahn
INRIA Sophia Antipolis, FRANCE
understanding of ESP, that the logic programming aspect of KL1 Is so important in
comparison with the Object-Oriented Methodology of using KL1, that Chikayama-san
alluded to in his presentation.
In any case, even If KL1 is very well designed, it is not the only language that
you have designed. I have heard of A'UM, AYA, MENDELS ZONE, GDCC, cu-
Prolog. The dream of having one single language to implement everything, no matter
whether your are a systems or an application programmer is long gone. In fact, facing a
multiplicity of languages is unavoidable. But luckily, we know now that this diversity is
tractable, thanks to the advent of distributed computing. So KL1, like all programming
languages, needs
a detailed evaluation of its features: what is used by systems programmers; what
is important for programs that generate KL1 code; what should be in libraries
rather than as a primitive of the language; what are the protocols that should
be used to interface to other languages, because in the past ten years, we have
all learnt that there are very few "purely AI" applications. In the process of this
analysis, you may also reexamine where hardware language support was essential.
This was impossible to assume in 1981, but now we know that microprocessors
supporting 64 bits of address space are here.
Basic research must elucidate, by analysis and experimentation, what the basic
mechanisms and the basic protocols are. I feel that part of this remains to be done for
KL1, although the really costly part, building an implementation and accumulating
experience in building operational software with it, has been done thoroughly in the
project.
Technical questions
I would like to list here a number of technical questions that have come to my
mind during your presentations. The fact that I ask such questions show that I take
extremely seriously the work of the project, and that I feel that it is necessary to
understand your design decisions, to appreciate them fully. First, I would like to
understand with greater precision the innovations of PIMOS, in comparison to other
distributed operating systems such as AMOEBA, GUIDE or CHORUS. I am convinced
that PIMOS's ideas are very general and quite unconnected to Logic Programming,
frankly. My second question concerns memory management. As a Prolog user, I rarely
have problems with speed, but I keep fighting with the memory management schemes
of the various Prolog systems. I wonder whether you have looked at the remarkable
work of Bekkers and his colleagues at IRISA, in France. On a similar line, I understand
that you were focussed primarily on parallelism, but some schemes for extending the
applicability of logic programming have appeared in the last ten years. In particular,
given your interest in Theorem Proving, I would have thought that Lambda-Prolog,
an extension of Prolog that Includes terms with binders, should be of interest for you.
- 70 -