Skip to content

Research at St Andrews

Paraforming: Forming Parallel Haskell Programs Using Novel Refactoring Techniques

Research output: Contribution to conferencePaper


Christopher Mark Brown, Kevin Hammond, Hans-Wolfgang Loidl

School/Research organisations


Enabling programmers to "think parallel'' is critical if we are to be able to effectively exploit future multicore/manycore architectures.
This paper introduces paraforming: a new approach to constructing parallel functional programs using formally-defined refactoring transformations.
We introduce a number of new refactorings for Parallel Haskell that capture common parallel abstractions, such as divide-and-conquer
and data parallelism,
and show how these can be used by the HaRe Haskell refactoring engine. Using a paraforming approach, we are able to easily obtain
significant and scalable speedups
(up to 7.8 on an 8-core machine).


Original languageEnglish
Number of pages16
Publication statusPublished - 1 Oct 2011
Event12th Symposium on Trends in Functional Programming - Madrid, Spain
Duration: 16 May 201118 May 2011


Conference12th Symposium on Trends in Functional Programming

    Research areas

  • Refactoring, Parallelism, Haskell, HaRe, Paraforming, Paraphrase, GpH

Discover related content
Find related publications, people, projects and more using interactive charts.

View graph of relations

Related by author

  1. High-level programming for heterogeneous and hierarchical parallel systems

    García-Blas, J. & Brown, C., 14 Nov 2018, In : International Journal of High Performance Computing Applications. 32, 6, p. 804-806

    Research output: Contribution to journalSpecial issue

  2. The Missing Link! A new skeleton for evolutionary multi-agent systems in Erlang

    Stypka, J., Turek, W., Byrski, A., Kisiel-Dorohinicki, M., Barwell, A. D., Brown, C. M., Hammond, K. & Janjic, V., Feb 2018, In : International Journal of Parallel Programming. 46, 1, p. 4-22 19 p.

    Research output: Contribution to journalArticle

ID: 14285315