Computer Science @ University of St Andrews

University of St Andrews crest

Prof Kevin Hammond

Prof Kevin Hammond

Position: Professor

Research profile

Email (@st-andrews.ac.uk): kh8

Office: JC0.07 - Jack Cole Building, North Haugh

Phone: +44 (0)1334 46 3241

Home page: https://kh.host.cs.st-andrews.ac.uk

Research Overview

My general research interests lie in the design and implementation of computer programming languages, including implementation of real-time and embedded systems. I have over 20 years of experience in this area, am an expert programmer with considerable experience programming Unix and other systems, and have been involved in numerous successful research projects of national and international importance.


Within this general research area, I am pursuing two distinct research strands: i) Bounded time/space modeling. My work on parallel computing has led to the development of novel time and space cost modelling techniques, which I have incorporated into a new programming notation, Hume. The work is potentially significant to a number of commercially important areas of Computer Science, including embedded/real-time systems and Systems-on-Chip.


ii) Parallelism and the GRID. Harnessing the power of multiple processors offers the prospect of significant performance improvement. Such power is essential to both scientific and commercial applications, including those targeted by the recent E-Science initiative. The challenge is to design new computer languages and abstractions that can allow such systems to be exploited effectively at low programmer cost. This is the research that my team has been pursuing over the last few years.

Recent Publications

Type-based cost analysis for lazy functional languages

The Missing Link! A new Skeleton for Evolutionary Multi-Agent Systems in Erlang

Towards semi-automatic data-type translation for parallelism in Erlang

Barwell, AD, Brown, CM, Castro, D & Hammond, K 2016, Towards semi-automatic data-type translation for parallelism in Erlang. in Proceedings of the 15th International Workshop on Erlang. ACM Press - Association for Computing Machinery, New York, pp. 60-61, 15th ACM SIGPLAN Workshop on Erlang, Nara, Japan, 23-23 September. DOI: 10.1145/2975969.2975978

HPC-GAP: engineering a 21st-century High-Performance Computer algebra system

Farms, pipes, streams and reforestation: reasoning about structured parallel processes using types and hylomorphisms

Castro, D, Hammond, K & Sarkar, S 2016, Farms, pipes, streams and reforestation: reasoning about structured parallel processes using types and hylomorphisms. in Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming. ACM Press - Association for Computing Machinery, New York, pp. 4-17, ICFP 2016 - 21st ACM SIGPLAN International Conference on Functional Programming, Nara, Japan, 18-24 September. DOI: 10.1145/2951913.2951920

Coinductive soundness of corecursive type class resolution

Farka, F, Komendantskaya, E, Hammond, K & Fu, P 2016, Coinductive soundness of corecursive type class resolution. in 26th International Symposium on Logic-Based Program Synthesis and Transformation - LOPSTR 2016. International Symposium on Logic-based Program Synthesis and Transformation, Edinburgh, United Kingdom, 6-8 September.

Lapedo: hybrid skeletons for programming heterogeneous multicore machines in Erlang

Janjic, V, Brown, CM & Hammond, K 2016, Lapedo: hybrid skeletons for programming heterogeneous multicore machines in Erlang. in GR Joubert, H Leather, M Parsons, F Peters & M Sawyer (eds), Parallel Computing: On the Road to Exascale. Advances in Parallel Computing, vol. 27, IOS Press, pp. 185-195, International Conference on Parallel Computing (ParCo) 2015, Edinburgh, United Kingdom, 1-4 September. DOI: 10.3233/978-1-61499-621-7-185

RPL: a domain-specific language for designing and implementing parallel C++ applications

Janjic, V, Brown, CM, MacKenzie, KW, Hammond, K, Danelutto, M, Aldinucci, M & Garcia, DJ 2016, RPL: a domain-specific language for designing and implementing parallel C++ applications. in Y Cotronis, M Daneshtalab & GA Papadopoulos (eds), 2016 24th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP)., 7445342, Institute of Electrical and Electronics Engineers Inc., pp. 288-295, Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, Heraklion, Crete, Greece, 17-19 February. DOI: 10.1109/PDP.2016.122

Using “program shaping” and algorithmic skeletons to parallelise an evolutionary multi-agent system in Erlang

Kindergarten Cop: dynamic nursery resizing for GHC

Ferreiro, H, Castro, L, Janjic, V & Hammond, K 2016, Kindergarten Cop: dynamic nursery resizing for GHC. in CC 2016 Proceedings of the 25th International Conference on Compiler Construction . ACM Press - Association for Computing Machinery, New York, pp. 56-66, 25th International Conference on Compiler Construction, Barcelona, Spain, 17-18 March. DOI: 10.1145/2892208.2892223