Ph.D. student and part of the
. My advisors are
Research
My research concerns parallel and functional programming. In particular I am interested in high-level parallel programming models e.g. parallel Haskell extensions (GpH, Eden) and libraries (Par monad). Another core focus of my research is the implementation of parallel data structures. These could range from generic structures, such as stack and queue, to more domain-specific ones, e.g. quad-tree; and both system-level structures (e.g. double-ended queue, "pool") for RTS and user-level (e.g. parallel list) as libraries available to use in programs to benefit from parallelism for free or with minimal code changes.
I am also interested to look more into programming languages, type systems and foundational concepts.
My work falls under the Complex Systems Engineering SICSA research theme and Parallel and Multicore System subgroup.
Teaching Assistance
I help with teaching in the following courses:
- F28DA-2012/13 Sem 1 Data Structures and Algorithms
with Dr Loidl (course page) and Dr Georgieva (vision)
Compression, Cryptography, Graph data structures and algorithms, Algorithm Design Techniques, Complexity Analysis
- F28PL1-2012/13 Sem 1 Programming Languages
with Prof Michaelson (course page)
Language concepts: definition, implementation, paradigms; ARM assembly language, C, Standard ML, Prolog
- F21DP-2012/13 Sem 2 Distributed and Parallel Technologies
with Dr Loidl (course page) and Prof Trinder (course page)
Parallelism: C+MPI, Performance tuning, Haskell, Glasgow parallel Haskell (GpH), C+OpenMP; Distribution: Sockets, RPC/RMI; Higher-order parallelism (Skeletons); Hadoop, Cloud and Grid Computing
- F28FS-2012/13 Sem 2 Formal Specification
with Dr Gabbay (course page)
Logic and proof, set theory, Z notation, relations and functions, schemas and specification struction, SML
Activities
- Represent the CS PhDs at Heriot-Watt, with Evgenij and Pantazis.
CS seminars link.
- Coordinated the Distributed and Parallel Computing Workshop, SICSA PhD Conference 2012, Glasgow.
Phil Wadler's keynote, Kevin Hammond's talk, Chris Maynard's talk
Devices/software
I primarily work on linux machines: CentOS at uni and ArchLinux at home.
I hack on the following devices, in addition to the various lx machines and 256 core Beowulf cluster at Heriot-Watt for HPC.
laptop: dell archlinux / xfce
raspberry pi model b / archlinux arm
tablet: asus google nexus 7 / android
phone: htc
List of software/tools:
OS: archlinux | packages | pacman
editor/dev: emacs | meld | git | svn
file manager: thunar
email: thunderbird
browse: chrome
reference: mendeley | jabref
document/typeset: latex | pdflatex | bibtex
VM: virtualbox
haskell: ghc | gph | hackage | hoogle | hayoo