I am Liam O’Connor, a computer science researcher and teacher, currently working at UNSW. Soon I will be taking a new post as a Lecturer in Programming Languages for Trustworthy Systems at LFCS at the University of Edinburgh School of Informatics. I specialise in programming languages and type systems, verification, formal methods, and concurrency.
In my current teaching capacity at UNSW I am responsible for teaching multiple theoretical courses, ranging from programming languages to concurrency to functional programming and formal methods.
I am also involved in supervision of various undergraduates on various projects.
Originally part of my doctorate and now as ongoing research work, I designed the Cogent programming language, and I remain a contributor to its associated verification framework and compiler. This project is part of the long-term vision of the Trustworthy Systems team at CSIRO Data61, to reduce the cost and effort required to make formally verified systems. In the past I have also worked with the Trustworthy Systems team on the l4.verified project and tools for the Isabelle theorem prover. I have also been affiliated with the DPH and Accelerate projects as my PhD supervisor was Prof. Gabriele Keller.
This contains my blog as well as a publication list, and other miscellany.
- I’m a doctor now - 15th January 2020
- What is abstraction anyway? - 8th July, 2017
- Trifecta at Nara - 1st August 2018
…or you can find more in the archives.
abstraction agda aplas asplos blog category-theory cogent comp2111 competition compilers conference coq courses cpp dargent data-description data61 edsls file-systems foundations fp-syd functional haskell icfp imperative isola itp latex linear-types ml-modules ml-workshop model-checking monads non-determinism paradox patch-theory pbt plos publication quickcheck reasoning refinement sapling semantics separation-logic slides standard-ml term-representation testing theorem-proving total tyde type-theory types unsw verification version-control