Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Home Topics Titles Quotes Blog Featured Help
Simon John Thompson
University of Kent
Canterbury, United Kingdom

Simon Thompson is an author, educator and researcher in computer science, best known for his work on functional programming. Simon trained as a mathematician; his DPhil is in mathematical logic, and he was supervised by Robin Gandy, one of Alan Turing’s few graduate students.

After graduating from Oxford, and working for a year at the University of Lancaster, Simon moved to the University of Kent, where he has worked ever since. During his time there, he has taken on leadership roles in teaching and research, and was department chair from 2002 to 2010. He has also been responsible for industrial/academic links, and in 2004 set up the Kent IT Consultancy, in which Kent students provide IT consultancy to local SMEs.

Simon is an evangelist for functional programming, and has authored texts—still in print—on programming in Haskell and Erlang. His first book, which has recently seen a revival as a freely available PDF [1], covered Martin-Löf’s constructive type theory and its application to programming. He, together with Erlang inventor Joe Armstrong and Erlang Solutions’ founder Francesco Cesarini, recently presented a set of online Erlang Master Classes [2], which form part of an Erlang MOOC that was successfully piloted in spring 2015.

Simon is Professor of Logic and Computation, a title that acknowledges not only his work on reasoning about functional programs as well as on visual languages for reasoning, but also his broader work on the practice of functional programming. He has led the development of refactoring tools for functional languages, first with the HaRe tool for Haskell and then with the Erlang refactorer Wrangler (so called because it is—almost—an anagram of Erlang!). His current research goal is to improve the trustworthiness of refactoring tools using logical tools.

He is a committed reviewer for CR, as well as book review editor for the Journal of Functional Programming because he has always been a keen reader of reviews, and is happy to pay back by writing reviews himself. He is also an active blogger and Twitter contributor.





CoSMed: a confidentiality-verified social media platform
Bauerei&bgr; T., Pesenti Gritti A., Popescu A., Raimondi F. Journal of Automated Reasoning 61(1-4): 113-139, 2018.  Type: Article

What do we mean when we say that a system is verified? In theory it means that certain properties of a system have been proved to hold. In practice, the answer is rather more complicated....


Formalizing and implementing distributed ledger objects
Anta A., Georgiou C., Konwar K., Nicolaou N.  NETYS 2018 (Proceedings of the 6th International Conference on Networked Systems, Essaouira, Morocco, May 9-11, 2018) 19-35, 2018.  Type: Proceedings

As the authors note, “despite the hype about blockchains and distributed ledgers, no formal abstraction of these objects has been proposed.” Maurice Herlihy also observed this in his 2017 keynote talk [1]. This pape...


Dynamic slicing of concurrent specification languages
Llorens M., Oliver J., Silva J., Tamarit S. Parallel Computing 53(C): 1-22, 2016.  Type: Article

In approaching a paper, a reviewer has a few questions ready. What is the paper about? How does the method described work? Where is it situated relative to other work? But perhaps the first question to ask is this: Why should I read th...


Programming in Haskell
Hutton G., Cambridge University Press, New York, NY, 2016. 318 pp.  Type: Book (978-1-316626-22-1)

Graham Hutton’s Programming in Haskell is a leading textbook on the functional programming language Haskell, which first appeared in 2007; it is instructive to see how its second edition reflects what has changed over ...


May-happen-in-parallel analysis for actor-based concurrency
Albert E., Flores-Montoya A., Genaim S., Martin-Martin E. ACM Transactions on Computational Logic 17(2): 1-39, 2015.  Type: Article

When we run a program on a modern compiler, or in a browser, what is it that makes the program execute reasonably quickly, and without using unreasonable amounts of space, or, if we are running on a smartphone, without using too much e...


Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 2004™
Terms of Use
| Privacy Policy