Keith Clark

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Keith L. Clark
Born 1943 (age 74–75)
Nationality British
Alma mater Queen Mary, University of London
Known for Negation as failure
Concurrent logic programming
Go! Agent
Scientific career
Fields Logic
Computer Science
Institutions Imperial College London
Uppsala University
University of Queensland
Thesis Predicate Logic as a Computational Formalism (1980)
Doctoral advisor Robert Kowalski
Doctoral students Ian Foster

Keith Leonard Clark (born 1943) is a Professor of Computer Science at Imperial College London, England.[1]:723 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.[2] 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.[3] 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.[4] 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. ^ Jean-Louis Lassez; Gordon Plotkin, eds. (1991). Computational Logic — Essays in Honor of Alan Robinson. Cambridge/MA: MIT Press. ISBN 0-262-12156-5. 
  2. ^ "Predicate logic as a computational formalism". Queen Mary, University of London. Retrieved 9 January 2013. 
  3. ^ Retrieved 18 May 2017.  Missing or empty |title= (help)
  4. ^ Keith L. Clark at DBLP Bibliography Server Edit this at Wikidata

External links[edit]