Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Browse by topic Browse by titles Authors Reviewers Browse by issue Browse Help
Search
 
Thompson, Simon
University of Kent
Canterbury, United Kingdom
 
   Featured Reviewer
   Reader Recommended
Follow this Reviewer
 
 
 

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.

Links

[1] http://www.cs.kent.ac.uk/people/staff/sjt/TTFP

[2] http://www.cs.kent.ac.uk/ErlangMasterClasses

 
 
Options:
Date Reviewed  
 
1
- 10 of 65 reviews

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

Jan 13 2021  
  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....

Aug 22 2018  
  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 ...

Aug 17 2017  
  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...

Aug 4 2016  
  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...

Apr 28 2016  
  The fixed-point theory of strictly causal functions
Matsikoudis E., Lee E. Theoretical Computer Science 574(C): 39-77, 2015.  Type: Article

Consider this problem of working with timed systems. Suppose that we are to model a ball bouncing under gravity, with air resistance. The ball will bounce less high each time, with the time gaps between bounces reducing, too. In fact, ...

Oct 12 2015  
  On the fine-structure of regular algebra
Foster S., Struth G. Journal of Automated Reasoning 54(2): 165-197, 2015.  Type: Article

Although it is dangerous to generalize from a single example, it’s instructive to look at Foster and Struth’s paper as giving us a snapshot of the state of the art in automating ordinary reasoning. First, let...

May 28 2015  
  Cloud refactoring: automated transitioning to cloud-based services
Kwon Y., Tilevich E. Automated Software Engineering 21(3): 345-372, 2014.  Type: Article

Refactoring is the process of changing how a program works without changing what it does; even before the term was coined, it was practiced by programmers as “program restructuring” from the early 1950s. Refactoring...

Oct 7 2014  
  Certified programming with dependent types: a pragmatic introduction to the Coq proof assistant
Chlipala A., The MIT Press, Cambridge, MA, 2013. 440 pp.  Type: Book (978-0-262026-65-9), Reviews: (1 of 2)

Chlipala’s text is an outstanding introduction to how programs can be guaranteed to be correct by means of the Coq theorem prover, programs that are, in his terminology, “certified.” While machine-assisted...

Jun 27 2014  
  Crossing the gap from imperative to functional programming through refactoring
Gyori A., Franklin L., Dig D., Lahoda J.  ESEC/FSE 2013 (Proceedings of the 2013 9th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, Saint Petersburg, Russia, Aug 18-26, 2013) 543-553, 2013.  Type: Proceedings

I have been writing functional programs for 30 years, first in KRC, then in Miranda, and more recently in Haskell and Erlang. In the past few years, however, something rather remarkable has been happening: the essentials of functional ...

Oct 3 2013  
 
 
 
Display per column
 
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy