Andrey Mokhov

Registered user since Fri 21 Sep 2018

Name: Andrey Mokhov

Bio: I am a Senior Lecturer in Computer Engineering at Newcastle University, UK. My research interests are in applying abstract mathematics and functional programming to solving large-scale engineering problems.

During my PhD study (2005-2009) I worked on asynchronous circuits and concurrent systems in general. I developed Conditional Partial Order Graphs to model the behaviour of concurrent systems by decomposing them into simple, well-understood parts. In the last few years, I’ve been translating my PhD work to the world of functional programming, publishing open-source libraries for algebraic graphs and selective functors. I have also done some work on the topic of software build systems – this topic has been gradually changing from “terrifying” to “fascinating” to me, and I’m yet to see where this journey goes.

I am originally from Kyrgyzstan, where I received a Software Engineering degree (2000-2005) from Kyrgyz-Russian Slavic University. I was a 5-time champion of Kyrgyzstan in algorithmic competitions and currently help to run ACM ICPC Quarterfinal in Kyrgyzstan.

Country: United Kingdom

Affiliation: Newcastle University, UK

Personal website:


PLMW @ ICFP 2019Author of Panel Discussion: Research in Functional Programming within the PLMW @ ICFP 2019-track
Committee Member in Speakers within the PLMW @ ICFP 2019-track
Haskell 2019Author of Formal Verification of Spacecraft Control Programs: An Experience Report within the Haskell 2019-track
CoqPL 2019Author of Towards a Coq Formalisation of Build Systems within the CoqPL-track
ICFP 2019Author of Selective Applicative Functors within the Research Papers-track
ICFP 2018Author of Build Systems à la Carte within the Research Papers-track
HIW 2017Author of Getting Ready for Hadrian within the HIW 2017-track
Haskell 2017Author of Algebraic Graphs with Class (Functional Pearl) within the Haskell 2017-track
Haskell 2016Author of Non-recursive Make Considered Harmful: Build Systems at Scale within the Haskell-track
Author of Desugaring Haskell's do-Notation into Applicative Operations within the Haskell-track