FGCS Assessment

Gilles Kahn
INRIA Sophia Antipolis, FRANCE

next previous contents
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 -