Bio
My research area is programming languages. I work on the mathematical principles that define the behaviour of the essential tool that software engineers use to craft all the amazing technology surrounding us today. My contributions to type systems around ownership, immutability, and capabilities redefined the security guarantees that modern software engineering can provide.
Impact: My work over the first decade of my career involved the concepts of ownership and immutability and how to provide usable language support for both with the help of type parameters. My approach has now been widely adopted by the Rust programming language as “lifetime parameters”. In the second decade, I worked on the design and production of a usable and secure programming language called Wyvern that utilises object capabilities and effects. A popular configuration language called CUE is used widely within Alibaba’s cloud and service configuration. CUE based its module system design on the Wyvern modules.
Alex completed his PhD in 2006 on Generic Ownership - showing how type polymorphism can be used to provide ownership type support in any language, such as the modern-day Rust Programming Language that popularised this approach. Alex went on to show deep connections between ownership and immutability with the help of the Royal Society of New Zealand Marsden Funding in 2008 - 2011 with a book chapter on Immutability outlining all the core outcomes of this novel approach.
After a full-year sabbatical at what was then the Institute for Software Research at Carnegie Mellon University working with Professor Jonathan Aldrich, Alex created a novel general-purpose Wyvern Programming Language designed from the ground up with security and usability as its primary goals. There were a large number of students and publications that came out of that project over the following decade including novel ideas for type-specific languages and decidable typing for type members - some of which are reflected in the modern generation of the industrial Scala Programming Language.
Alex is currently working on some ideas for the modern module systems designs based on capabilities, combinations of abstract and algebraic effects, and other programming language design ideas including for the world of fully verified and secure software.
Degrees
BSc(Hons), PhD, Victoria University of Wellington, New Zealand
Research Interests
Programming Languages Design and Security, Software Engineering
Projects for Potential Students
- While my main interest is cyber security-oriented programming languages, with our capability enabled secure web language called Wyvern developed in collaboration with Carnegie Mellon University being my primary project, anything fun to do with programming languages might work.
- I am always looking for graduate students. Feel free to email me or drop by my office to discuss your options.
Publications
Please click here to see a list of my publications.
Students
Please click here for a list of my current and previous students.
Teaching
Please click here for a list of my current and past courses.
Conference Committees
Please click here for a list of my current and past conference committee memberships.