Doctor Chris Seaton

Chris Seaton

I'm a Researcher (Senior Staff Engineer) at Shopify, where I work on the Ruby programming Language, and a Visitor at the University of Manchester.

I was formerly a Research Manager at the Oracle Labs Virtual Machine Research Group, where I led the TruffleRuby implementation of Ruby, and worked on other language and virtual machine projects. Before this I completed a PhD at Manchester where I researched programming languages and irregular parallelism, and an MEng at the University of Bristol on languages with mutable syntax and semantics.

In my spare time I'm Squadron Leader of the Cheshire Yeomanry squadron of the Queen's Own Yeomanry, Cheshire's historic reserve light cavalry squadron.


Projects

TruffleRuby

TruffleRuby 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, then in 2017 it became its own project, and now it is part of GraalVM. It was the subject of my PhD, and since 2019 Shopify has sponsored development.

  • Finalist, Ruby Prize, 2016

Mersey Burns

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

The Ruby Bibliography

The Ruby Bibliography is the central list of academic research papers and theses about the Ruby programming language. I compile and curate the list as a community service.

The Ruby Compiler Survey

The Ruby Compiler Survey is a project cataloguing, preserving, and dissecting compilers for the Ruby programming language.

Katahdin

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.

  • Winner, Hele Shaw Prize, 2007

Rhizome

Rhizome is a paedagogical just-in-time compiler (JIT) for Ruby, implemented in pure Ruby. It's not really designed to be used. It's designed to show you how JITs work and why perhaps a JIT for Ruby should be written in Ruby. It's also designed to try to go beyond the trivial aspects of a simple template compiler that introductions to JITs often show - instead it has a proper intermediate representation (IR) and shows how more advanced parts of compilers such as lowering and schedulers work, that people don't usually cover.


Publications, Presentations and Talks

All publications hosted here are the authors' pre-prints or otherwise freely available.

Theses

Research Papers, Journal Articles and Editorials

Summer Schools

Other Presentations and Blog Posts

Posters

Patents


Qualification


Community