Research course

Monads and Combinators for High-Level Resource-Aware Programming

University of Leeds · School of Computing

Entry requirements

Applicants must have a minimum of a UK upper second class honours degree (2.1), or equivalent, in computer science or artificial intelligence. If English is not your first language, you must provide evidence that you meet the University’s minimum English Language requirements.

Months of entry


Course content

Functional languages like Haskell simplify the task of implementing algorithms on parallel hardware. However, performance bottlenecks remain, not least from the complex memory hierarchy of modern architectures and costs from moving data. This PhD will develop high-level functional abstractions that capture low-level resources and costs, in order to shape resource use through choices at compile-time and through combinators that deliver tailored run-time evaluation strategies. The PhD will address execution contexts including SMP, distributed-memory, and GPU computing, building on work at Leeds on high-performance computational science, and advances in FP including type-level programming and monadic abstractions over low-level hardware.

Keywords: Functional programming, parallel programming, high performance computing, Haskell

Fees and funding

This scholarship is part of Leeds Anniversary Research Scholarship scheme.

This scholarship is fully funded covering fees and a maintenance of £14,254 in 2016/17

Qualification and course duration


full time
48 months

Course contact details

David Duke