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