Archibald Samuel Elliott

PhD Student at University of Washington

I'm a PhD student at the Paul G. Allen School at the University of Washington, working in both the PLSE Group and the Sampa Group, advised by Ras Bodik.

I do research into Programming Languages and Compilers, in particular compilation techniques involving Program Synthesis and Domain-Specific Languages.

The rest is on my Publications page or in my CV [PDF].

Contact Me

My email address is ashe2@cs.washington.edu.

I work in the CSE Building — my office is CSE410.

News

New! I will be sailing The Southern Straits Classic Yacht Race for Easter Weekend. I will be aboard Amazing Grace, a C&C 40, as we sail the 140nm long course.

I have joined the CONIX Research Center.

I attended POPL 2018 in Los Angeles!

Bravo Zulu, the yacht I race on, has once again placed on the Top 25 sailboats of 2017 by 48° North magazine. This time we're 12th.

I have completed my MS in Computer Science and Engineering at the Paul G. Allen School at the University of Washington. I am staying to complete my PhD. My Technical Report is available.

Older News

I have returned to Microsoft Research for another three-month internship on the Checked C project.

I have joined Microsoft Research to do a three-month internship on the Checked C project, working with David Tarditi.

The yacht I race on, Bravo Zulu, placed 9th on the Top 25 sailboats of 2016 by 48° North magazine.

I have started a PhD in Computer Science at the University of Washington, in Seattle.

I won the Lockheed Martin Award for Software Engineering at the Young Software Engineer of the Year Awards.

I attended ICFP 2015 in Vancouver.

I completed my BSc (Hons) in Computer Science at the University of St Andrews, in Scotland. My BSc Dissertation is available.

My Research Projects Publications →

Research into various topics, mostly in Programming Languages. Some of my previous work has looked at Concurrent and Distributed Systems.

Checked C On Github →

2017: I worked at Microsoft Research on a project to make C Safer, by adding bounds checks to memory accesses. This included design of low-cost dynamic checks as well as bounds inference algorithms.

"Checked C for Safety, Gradually" Paper Draft →"Putting the Checks into Checked C" Technical Report →

Synic

2016: I tried to use program synthesis techniques to design circuits. It kept almost working, but ultimately I gave up.

Erlang meets Idris On Github →

2014–2015: My Bachelor's Dissertation project was producing an Idris to Erlang compiler, and associated libraries for producing verified concurrent programs in Idris that would use Erlang VM features.

"A Concurrency System for Idris & Erlang" Dissertation →

CRDTs: Composition and Garbage Collection

2013–2014: I worked on the Data Types team at Basho, developing novel CRDTs that were included in Riak 2.0 and later.

"Riak DT Map: a Composable, Convergent Replicated Dictionary" Workshop Paper → "CRDTs: An Update (or just a PUT)" Talk at RICON West 2013 →

skel: A Streaming Process-based Skeleton Library for Erlang On Github →

2012: I worked at the University of St Andrews on the ParaPhrase project to develop parallel skeleton library for Erlang.

“Cost-Directed Refactoring of Parallel Erlang Programs” Journal Paper →

Side Projects

What I do when I'm not typing

Sailing My (Incomplete) Archive →

I race most weekends throughout the year. Usually I'm competing aboard Bravo Zulu, a yacht that sails out of Seattle.

Quark & Byte On Archive.org →

2014-2015: Henry Legg and I presented a Science and Technology news radio show, broadcasting weekly, covering recent science news and a few interviews.