I'm a Research Manager at the Virtual Machine Group in Oracle Labs, where I lead the work to implement Ruby using the next generation of Java Virtual Machine technology, and other projects.
Before this I completed a PhD at the University of Manchester under the supervision of Doctor Mikel Luján, where I researched programming languages and irregular parallelism. Before that, I completed an MEng at the University of Bristol on languages with mutable syntax and semantics.
In my spare time I used to develop an award winning medical app that is the first app regulated as a medical device in the UK, and ran a consultancy to help clients such as the NHS to develop revolutionary medical software.
Between my undergraduate degree and starting my PhD I commissioned as an officer in the British Army, first in the regulars and then in the reserves with a period as Second in Command of Manchester and Salford Universities Officer Training Corps. I've led both on operations and in training units in the UK and around the world.
JRuby+Truffle started as my internship project at Oracle Labs in early 2013. It is an implementation of the Ruby programming language on the JVM, using the Graal JIT compiler and the Truffle AST interpreter framework. RubyTruffle can achieve peak performance well beyond that possible in JRuby at the same time as being a significantly simpler system. In early 2014 it was open sourced and integrated into JRuby.
Katahdin was my master’s work at the University of Bristol. It is a research programming language where the syntax and semantics of the language are mutable at runtime. This allows for multiple languages to be implemented in a single runtime, and for different languages to be used in different parts of the same program, the same function, or even the same line. My research built on contemporary work on parsing expression grammars and packrat parsing.
Mersey Burns is a free iPhone® app for doctors to calculate how much fluid to give to a burns patient, making a traditional pen-and-paper method faster and more accurate. It is the first app in the UK regulated and CE marked as a medical device.
- Winner, Excellence in Mobile Healthcare and overall winner, eHealth Awards, 2013
- Highly Commended, Improving Care with Technology, Health Service Journal Awards, 2013
- Highly Commended, Innovative Mobile App of the Year, BCS UK IT Industry Awards, 2013
- Highly Commended, eHealth Awards, 2012
- Winner, NHS North West Innovations Awards, 2011
All publications hosted here are the authors' pre-prints.
C. Seaton. Specialising Dynamic Techniques for Implementing the Ruby Programming Language. PhD thesis, University of Manchester, 2015.
C. Seaton. A programming language where the syntax and semantics are mutable at runtime. MEng thesis, University of Bristol, 2007.
PDF, Code, Slides
Winner, Hele Shaw Prize
M. Grimmer, C. Seaton, R. Schatz, T. Würthinger, H. Mössenböck. High-Performance Cross-Language Interoperability in a Multi-Language Runtime. In Proceedings of 11th Dynamic Languages Symposium (DLS).
(to appear - ask me for a pre-print)
B. Daloze, C. Seaton, D. Bonetta, H. Mössenböck. Techniques and Applications for Guest-Language Safepoints. In Proceedings of the 10th Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems Workshop (ICOOOLPS), 2015.
M. Grimmer, R. Schatz, C. Seaton, T. Würthinger, H. Mössenböck. Memory-safe Execution of C on a Java VM. In Proceedings of the 10th Workshop on Programming Languages and Analysis for Security (PLAS).
S. Marr, C. Seaton, S. Ducasse. Zero-Overhead Metaprogramming: Reflection and Metaobject Protocols Fast and without Compromises. In Proceedings of the 36th Conference on Programming Language Design and Implementation (PLDI), 2015.
M. Grimmer, C. Seaton, T. Würthinger, H. Mössenböck. Dynamically Composing Languages in a Modular Way: Supporting C Extensions for Dynamic Languages. In Proceedings of the 14th International Conference on Modularity, 2015.
A. Wöß, C. Wirth, D. Bonetta, C. Seaton, C. Humer, and H. Mössenböck. An object storage model for the Truffle language implementation framework. In Proceedings of the International Conference on Principles and Practices of Programming on the Java Platform (PPPJ), 2014.
C. Seaton, M. L. Van De Vanter, and M. Haupt. Debugging at full speed. In Proceedings of the 8th Workshop on Dynamic Languages and Applications (DYLA), 2014.
D. Goodman, S. Khan, C. Seaton, Y. Guskov, B. Khan, M. Luján, and I. Watson. DFScala: High level dataflow support for Scala. In Proceedings of the 2nd International Workshop on Data-Flow Models For Extreme Scale Computing (DFM), 2012.
PDF, Code, Slides
C. Seaton, D. Goodman, M. Luján, and I. Watson. Applying dataflow and transactions to Lee routing. In Proceedings of the 7th Workshop on Programmability Issues for Heterogeneous Multicores (MULTIPROG), 2012.
Winner, Best Paper Award
Journal Articles and Editorials
J. Barnes, A. Duffy, N. Hamnett, J. McPhail, C. Seaton, K. Shokrollahi, M. I. James, P. McArthur, and R. Pritchard-Jones, The Mersey Burns App: evolving a model of validation, Emerg Med J, pp. emermed–2013–203416, Nov. 2014.
PDF (BMJ paywall)
S. S. Sofos, R. Pritchard-Jones, C. Seaton, J. Dingley, P. McArthur, and K. Shokrollahi. Medical innovation—a starting point for plastic surgeons. Annals of Plastic Surgery, 69(3):225–7, Sep 2012.
Chris Seaton. Implementing Ruby Using Truffle and Graal. At the European Conference on Object Oriented Programming (ECOOP) Summer School. 2014.
Chris Seaton, Medicapps Ltd. Developing an app from idea to market and awards success with no funding. At the Mobile Healthcare Industry Summit. 2012.
Chris Seaton. Deoptimizing Ruby. At RubyConf. 2014.
Video, Slides, Blog post
Christian Wimmer and Chris Seaton. One VM to Rule Them All. At the JVM Language Summit. 2013.
Chris Seaton. The Challenges of Irregular Parallelism. At the University of Manchester Computer Science Research Showcase. 2012.
C. Seaton, D. Goodman, M. Luján, and I. Watson. Applying dataflow and transactions to Lee routing. At the 1st EuroTM Workshop on Transactional Memory (EuroTM). 2012.
Chris Seaton. The Challenges of Irregular Parallelism. At the University of Manchester School of Computer Science Research Symposium. 2012.
Winner, Best Poster Award
Mr R Pritchard Jones, Mr C Seaton, Mr N Hamnett, Mr I James, Professor P McArthur. Mersey Burns Tool — Improving Assessment and Resuscitation. British Association of Plastic and Reconstructive Surgeons Summer Meeting. 2011.
Programme and Abstracts
- Maintainer of The Ruby Bibliography
- Dynamic Languages Symposium (DLS) program committee member, 2016, 2014