Programming in Manticore, a heterogenous parallel functional language

  • Authors:
  • Matthew Fluet;Lars Bergstrom;Nic Ford;Mike Rainey;John Reppy;Adam Shaw;Yingqi Xiao

  • Affiliations:
  • Rochester Institute of Technology, Rochester, NY;University of Chicago, Chicago, IL;University of Chicago, Chicago, IL;University of Chicago, Chicago, IL;University of Chicago, Chicago, IL;University of Chicago, Chicago, IL;University of Chicago, Chicago, IL

  • Venue:
  • CEFP'09 Proceedings of the Third summer school conference on Central European functional programming school
  • Year:
  • 2009
  • The manticore project

    Proceedings of the 2nd ACM SIGPLAN workshop on Functional high-performance computing

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Manticore project is an effort to design and implement a new functional language for parallel programming. Unlike many earlier parallel languages, Manticore is a heterogeneous language that supports parallelism at multiple levels. Specifically, the Manticore language combines Concurrent ML-style explicit concurrency with fine-grain, implicitly threaded, parallel constructs. These lectures will introduce the Manticore language and explore a variety of programs written to take advantage of heterogeneous parallelism. At the explicit-concurrency level, Manticore supports the creation of distinct threads of control and the coordination of threads through first-class synchronous-message passing. Message-passing synchronization, in contrast to shared-memory synchronization, fits naturally with the functional-programming paradigm. At the implicit-parallelism level, Manticore supports a diverse collection of parallel constructs for different granularities of work. Many of these constructs are inspired by common functional-programming idioms. In addition to describing the basic mechanisms, we will present a number of useful programming techniques that are enabled by these mechanisms.