Keith Clark (computer scientist)
British computer scientist
From Wikipedia, the free encyclopedia
Keith Leonard Clark (born 29 March 1943) is a British computer scientist. He is Emeritus Professor in the Department of Computing at Imperial College London, England.[1]
Keith L. Clark | |
|---|---|
| Born | March 29, 1943 |
| Education | |
| Scientific career | |
| Fields | |
| Workplaces | |
| Thesis | Predicate Logic as a Computational Formalism (1980) |
| Robert Kowalski | |
| Website | www |
Education
Clark studied Mathematics at Durham University (Hatfield College), graduating in 1964 with a first-class degree.[2][3][4] He continued his studies at Cambridge University, taking a second undergraduate degree in Philosophy in 1966.[4] He earned a Ph.D. in 1980 from the University of London.[5]
Career and research
Clark lectured in mathematics at City of London Polytechnic from 1966 to 1967, and then spent a year as a teacher in Sierra Leone with Voluntary Service Overseas.[4] He lectured in Computer Science at the Mathematics Department of Queen Mary College from 1969 to 1975.[4] That year he moved to Imperial College London, where he became a Senior Lecturer in the Department of Computer Science, and joined Robert Kowalski in setting up the logic programming group.[6] He was a Visiting Associate Professor at University of California, Santa Cruz in 1977.[4]
In 1980, with colleague Frank McCabe, he founded an Imperial College spin-off company, Logic Programming Associates, to develop and market Prolog systems for microcomputers (micro-Prolog) and to provide consultancy on expert systems and other logic programming applications.[4] In 1986, he became the first president of the newly founded Association for Logic Programming.[7] He was appointed Professor of Computational Logic at Imperial College in 1987.[8]
As a researcher, his key contributions have been in the field of logic programming. In 1976, he presented work on negation as failure at a workshop on logic programming held at Imperial College, the results of which were published in a landmark paper in 1978.[9] He was the first to investigate negation as failure in the context of logic programs containing negative conditions, and developed a logical interpretation of how negation operated in such programs.[9]
More recent research interests include multi-agent systems, cognitive robotics and multi-threading.[10]
Selected publications
Books
- Clark, K. L.; McCabe, Frank G. (1983). micro-PROLOG: Programming in Logic. Old Tappan, NJ: Prentice Hall Inc. ISBN 9780135812648.
Book chapters
- Clark, K. L. (1978). "Negation as Failure". In Gallaire, Hervé; Minker, Jack (eds.). Logic and Data Bases. Boston, MA: Springer. pp. 293–322. doi:10.1007/978-1-4684-3384-5_11.
Journal articles
- Clark, K. L.; Darlington, John (1980). "Algorithm classification through synthesis". The Computer Journal. 23 (1): 61–65.
- ———; Gregory, Steve (1986). "PARLOG: parallel programming in logic". ACM Transactions on Programming Languages and Systems. 8 (1): 1–49.
- ———; McCabe, Frank G. (2004). "Go!—A multi-paradigm programming language for implementing multi-threaded agents" (PDF). Annals of Mathematics and Artificial Intelligence. 41 (2): 171–206.