Functional Programming eXchange 2014 / ParaForming: Forming Parallel Functional Programs using Refactoring

Please RSVP for instructions on how to join the event.


Despite Moore's "law", uniprocessor clock speeds have now stalled. Rather than single processors running at ever higher clock speeds, it is common to find dual-, quad- or even hexa-core processors, even in consumer laptops and desktops. Haswell, Intel's forthcoming multicore architecture, will have eight cores by default. Future hardware will not be slightly parallel, however, as in today's multicore systems, but will be massively parallel, with manycore and perhaps even megacore systems becoming mainstream. This means that programmers need to start thinking parallel. To achieve this they must move away from traditional programming models where parallelism is a bolted-on afterthought. Rather, programmers must use languages where parallelism is deeply embedded into the programming model from the outset. By providing a high level model of computation, without explicit ordering of computations, declarative languages in general, and functional languages in particular, offer many advantages for parallel programming. One of the most fundamental advantages of the functional paradigm is purity. In a purely functional language, as exemplified by Haskell, there are simply no side effects: it is therefore impossible for parallel computations to conflict with each other in ways that are not well understood. ParaForming aims to radically improve the process of parallelising purely functional programs through a comprehensive set of high-level parallel refactoring patterns for Parallel Haskell, supported by advanced refactoring tools. By matching parallel design patterns with appropriate algorithmic skeletons using advanced software refactoring techniques and novel cost information, we will bridge the gap between fully automatic and fully explicit approaches to parallelisation, helping programmers "think parallel" in a systematic, guided way. This talk introduces the ParaForming approach, gives some examples and shows how effective parallel programs can be developed using advanced refactoring technology.


No outline is available

Content is not yet available

Kevin Hammond (kevin.hammond)


I'm a Professor in Computer Science, in the School of Computer Science, at the University of St. Andrews, St. Andrews, Scotland, where I lead the Functional Programming research group. I am also an Honorary Professor at Heriot-Watt University.

For a complete view of this profile, including education, work experience and developer information, you need to be logged in and have a subscription.

Kevin's upcoming trainings

No events

Kevin's past online trainings

Kevin's blog posts

IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy
Built with WebSharper