Keith Clark

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Keith L. Clark
Born 1943 (age 73–74)
Nationality British
Fields Logic
Computer Science
Institutions Imperial College London
Uppsala University
University of Queensland
Alma mater Queen Mary, University of London
Thesis Predicate Logic as a Computational Formalism (1980)
Doctoral advisor Robert Kowalski
Doctoral students Ian Foster (1988)
Priscilla Lima (2000)
Known for Negation as failure
Concurrent logic programming
Go! Agent

Keith Leonard Clark (born 1943) is a Professor of Computer Science at Imperial College London, England. He has lectured in both mathematics and computer science.

Clark earned a Ph.D. in 1980 from Queen Mary, University of London with thesis titled Predicate logic as a computational formalism.[1] 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.[citation needed] Between 1987 and 1995, he was also Visiting Professor at Uppsala University. He is currently[when?] a Visiting Professor at BTH (since 1997), at the University of Queensland (since 1998) and at University College London[2]. 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.[3] 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,[when?] Clark has been working on the April and Go! programming languages and their application to agent programming.[citation needed]

Selected publications[edit]

  • 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.


  1. ^ "Predicate logic as a computational formalism". Queen Mary, University of London. Retrieved 9 January 2013. 
  2. ^ Retrieved 18 May 2017.  Missing or empty |title= (help)
  3. ^ Keith L. Clark at DBLP Bibliography Server

External links[edit]