Functional programming, resource-bounded computation, grid & parallel computing, embedded systems, real-time systems, programming language implementation.
Functional programming, resource-bounded computation, generative programming, type theory, dependent types.
Computational logic, proof theory, type theory, lambda calculus, automated reasoning,programming language semantics.
Programming languages, concurrent algorithms, verification, relaxed memory consistency models, mechanised theorem proving, formal computer architecture.
Symbolic computation, software composability and symbolic computing on the Grid, computational group and group ring theory, and software development for the computational algebra system GAP.
Functional programming, refactoring, static analysis, program transformation, parallelism, parallel patterns, cost models.
Functional programming, dependent types, embedded systems, computational algebra, high-performance computing, group theory, semi-group theory.
Runtime systems for parallel programming languages, scheduling and load balancing for heterogeneous distributed systems, parallelism, functional programming, computational algebra.
Functional programming, refactoring, dependency analysis, parallelism.
Functional programming, parallelism, automated theorem proving, compiling dependent types, optimization.
Functional programming, parallelism, resource-bounded computation, dependent types, type theory.
Computational algebra, canonical forms, automated theorem proving, proof by reflection, dependent types.
Functional programming, type theory, semantics of programming languages, coalgebraic semantics for logic programming.
Security, software engineering, domain modelling, goal modelling, dependent types, protocols, cryptography, beer.
Functional programming, dependent types, compiling dependent types, erasure, structural recursion.
Functional programming, resource-bounded computation, embedded systems, type theory, dependent types.