Dr Neil Sculthorpe is the Course Leader for the MSc Computing Systems course. His teaching includes leading the Software Engineering and Advanced Software Engineering modules at undergraduate level, and the Software Engineering 1 module at postgraduate level. He is also a member of the Mathematical Aspects of Computer Science research group.
Neil’s previous research positions have included:
- Post-Doctoral Researcher in the Centre for Software Language Engineering at the Royal Holloway, University of London Department of Computer Science (2015-2016);
- Post-Doctoral Research Assistant in the Theory Group at the Swansea University Department of Computer Science (2014-2015);
- Post-Doctoral Researcher in the Functional Programming Group at the University of Kansas Information and Telecommunication Technology Center (2012-2013);
- PhD student in the Functional Programming Laboratory at the University of Nottingham School of Computer Science (2006-2011).
Neil’s research field is Programming Languages, and his specific research interests include Functional Programming, Operational Semantics, Denotational Semantics, Type Systems, Equational Reasoning, Program Transformation, Functional Reactive Programming, Domain-Specific Languages and Continuations.
All research publications, with accompanying supplementary materials (source code, proofs, extended versions etc.) are available on Neil's personal webpage.
Specific research projects have included:
- The PLanCompS project: developing a component-based semantic framework based on Modular Structural Operational Semantics. Case studies included specifying the formal semantics of:
- The HERMIT project, a scriptable toolkit for interactively transforming and reasoning about programs in the internals of the Glasgow Haskell Compiler.
- Investigating solutions to the Constrained-Monad Problem.
- Developing the theory of the Worker/Wrapper Transformation, a program-transformation technique for connecting clear specifications to efficient implementations.
- Implementing the Kansas University Rewite Engine (KURE), a Haskell-embedded strategic programming language. Neil maintains the latest version, which is available on Hackage.
- A PhD on the topic of Functional Reactive Programming (FRP); in particular considering safety and efficiency for an FRP variant based on Arrowised FRP (inspired by Yampa).
Program committee member for:
- 2020 Workshop on Reactive and Event-based Languages & Systems (REBLS)
- 2019 International Conference on Software Language Engineering (SLE)
- 2018 Symposium on Trends in Functional Programming (TFP)
- 2017 Symposium on Implementation and Application of Functional Languages (IFL)
- 2015 Symposium on Trends in Functional Programming (TFP)
- 2013 Haskell Symposium (HASKELL)
- Journal of Functional Programming (JFP)
- Science of Computer Programming (SCP)
- Journal of Computer Languages (COLA)
- Symposium on Principles of Programming Languages (POPL)
- International Conference on Functional Programming (ICFP)
- International Conference on Types for Proofs and Programs (TYPES)
- Conference on Mathematical Foundations of Programming Semantics (MFPS)
- Conference on Algebra and Coalgebra in Computer Science (CALCO)
- Symposium on Haskell (HASKELL)
- Symposium on Implementation and Application of Functional Languages (IFL)
- Symposium on Trends in Functional Programming (TFP)
- Workshop on Mathematically Structured Functional Programming (MSFP)
- Workshop on Partial Evaluation and Program Manipulation (PEPM)