Skip to content

Research at St Andrews

Paraforming: Forming Parallel Haskell Programs Using Novel Refactoring Techniques

Research output: Contribution to conferencePaper

Abstract

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).
Close

Details

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

Conference

Conference12th Symposium on Trends in Functional Programming
CountrySpain
CityMadrid
Period16/05/1118/05/11

    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. 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

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

    Barwell, A. D., Brown, C. M., Castro, D. & Hammond, K. 23 Sep 2016 Proceedings of the 15th International Workshop on Erlang. New York: ACM, p. 60-61

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

  3. Lapedo: hybrid skeletons for programming heterogeneous multicore machines in Erlang

    Janjic, V., Brown, C. M. & Hammond, K. Apr 2016 Parallel Computing: On the Road to Exascale. Joubert, G. R., Leather, H., Parsons, M., Peters, F. & Sawyer, M. (eds.). IOS Press, p. 185-195 (Advances in Parallel Computing; vol. 27)

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

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

    Janjic, V., Brown, C. M., MacKenzie, K. W., Hammond, K., Danelutto, M., Aldinucci, M. & Garcia, D. J. 31 Mar 2016 2016 24th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP). Cotronis, Y., Daneshtalab, M. & Papadopoulos, G. A. (eds.). Institute of Electrical and Electronics Engineers Inc., p. 288-295 7445342

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

ID: 14285315