Keith Leonard Clark is a Professor of Computer Science at Imperial College London, England. He has lectured in both mathematics and computer science.
Clark earnt a Ph.D. in 1980 from Queen Mary, University of London with thesis titled Predicate logic as a computational formalism. Since 1979, Keith Clark has had an academic position in the Department of Computing, Imperial College London, where he has been Professor of Computational Logic since 1987. Between 1987 and 1995, he was also Visiting Professor at Uppsala University. He is currently a Visiting Professor at BTH (since 1997), and at the University of Queensland (since 1998). In 1980, he co-founded an Imperial College spin-off company, Logic Programming Associates, to develop and market Prolog systems for micro-computers (micro-Prolog) and to provide consultancy on expert systems and rule based applications.
Clark's key contributions have been in the field of logic programming. His 1978 paper on negation as failure was arguably the first formalisation of a non-monotonic logic. His 1981 paper on a relational language for parallel programming introduced concurrent logic programming.
More recently, Clark has been working on the April and Go! programming languages and their application to agent programming.
K. L. Clark, D. Cowell, Programs, Machines and Computation, McGraw-Hill, London, 1976.,
K. L. Clark, S-A. Tarnlund, A first order theory of data and programs, Proc. IFIP Congress, Toronto, 939-944 pp, 1977.,
K. L. Clark, Negation as failure, Logic and Data Bases (eds. Gallaire & Minker) Plenum Press, New York, 293-322 pp, 1978. (Also in Readings in Nonmonotonic Reasoning, (ed. M. Ginsberg), Morgan Kaufmann, 311-325, 1987.),
K. L. Clark, S. Gregory, A relational language for parallel programming, Proc. ACM Conference on Functional Languages and Computer Architecture, ACM, New York, 171-178 pp, 1981. (Also in Concurrent Prolog, (ed. E Shapiro), MIT Press, 9-26 pp, 1987.),
K. L. Clark, S-A. Tarnlund (eds), Logic Programming, Academic Press, London, 1982.,
K. L. Clark, F. G. McCabe, micro-PROLOG: Programming in Logic, Prentice-Hall International, 1984.,
F.G. McCabe, K. L. Clark, April -- Agent process interaction language, in Intelligent Agents, (ed N. Jennings, M. Wooldridge), LNAI, Vol. 890, Springer-Verlag, 1995.,
K. L. Clark, Logic Programming Languages, Encyclopedia of Computer Science, (eds. A. Ralston, E. Reilly, D. Hemmendinger), pp 1024-1031, Nature Publishing Group, 2000.,
K. L. Clark and F. McCabe, Go! -- A Multi-paradigm Programming Language for Implementing Multi-threaded Agents, Annals of Mathematics and Artificial Intelligence, 41(2-4):171-206, August 2004.