Abstract
Algorithmic skeletons are an effective, pattern-based approach for parallelising software. However, despite implementations for a range of languages and paradigms, there is currently no support for dependently-typed languages, such as Idris, Agda and Coq. Such languages promote safer software via the ability to express logical properties and specifications, along with their proofs, directly in code. In this paper, we present pi-par, a prototype dependently-typed language based on Idris, with message-passing concurrency and built-in Pipeline and Task Farm skeletons. We evaluate pi-par on a series of standard Task Farm and Pipeline examples, achieving speedups of up to 23.35 × on a 28-core machine.
Original language | English |
---|---|
Article number | 11 |
Number of pages | 23 |
Journal | International Journal of Parallel Programming |
Volume | 53 |
Issue number | 2 |
Early online date | 25 Feb 2025 |
DOIs | |
Publication status | E-pub ahead of print - 25 Feb 2025 |
Keywords
- Dependent types
- Idris
- Parallelism
- Concurrency
- Skeletons
- Farm
- Pipeline
- Erlang