Projects per year
Abstract
Dataflow applications, such as machine learning algorithms,
can run for days, making it desirable to have assurances that they will
work correctly. Current tools are not good enough: too often the interactions between tasks are not type-safe, leading to undesirable runtime
errors. This paper presents a new declarative Haskell Embedded DSL
(eDSL) for dataflow programming: CircuitFlow. Defined as a Symmetric Monoidal Preorder (SMP) on data that models dependencies in the
workflow, it has a strong mathematical basis, refocusing on how data
flows through an application, resulting in a more expressive solution
that not only catches errors statically, but also achieves competitive runtime performance. In our preliminary evaluation, CircuitFlow outperforms
the industry-leading Luigi library of Spotify by scaling better with the
number of inputs. The innovative creation of CircuitFlow is also of note,
exemplifying how to create a modular eDSL whose semantics necessitates effects, and where storing complex type information for program
correctness is paramount.
can run for days, making it desirable to have assurances that they will
work correctly. Current tools are not good enough: too often the interactions between tasks are not type-safe, leading to undesirable runtime
errors. This paper presents a new declarative Haskell Embedded DSL
(eDSL) for dataflow programming: CircuitFlow. Defined as a Symmetric Monoidal Preorder (SMP) on data that models dependencies in the
workflow, it has a strong mathematical basis, refocusing on how data
flows through an application, resulting in a more expressive solution
that not only catches errors statically, but also achieves competitive runtime performance. In our preliminary evaluation, CircuitFlow outperforms
the industry-leading Luigi library of Spotify by scaling better with the
number of inputs. The innovative creation of CircuitFlow is also of note,
exemplifying how to create a modular eDSL whose semantics necessitates effects, and where storing complex type information for program
correctness is paramount.
| Original language | English |
|---|---|
| Title of host publication | Practical Aspects of Declarative Languages |
| Subtitle of host publication | 24th International Symposium, PADL 2022, Philadelphia, PA, USA, January 17–18, 2022, Proceedings |
| Editors | James Cheney, Simona Perri |
| Publisher | Springer Nature |
| Pages | 79-98 |
| Number of pages | 20 |
| ISBN (Electronic) | 978-3-030-94479-7 |
| ISBN (Print) | 978-3-030-94478-0 |
| DOIs | |
| Publication status | Published - 31 Jan 2022 |
Publication series
| Name | Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) |
|---|---|
| Volume | 13165 LNCS |
| ISSN (Print) | 0302-9743 |
| ISSN (Electronic) | 1611-3349 |
Bibliographical note
Funding Information:The work is partly supported by EPSRC Grant EXHIBIT: Expressive High-Level Languages for Bidirectional Transformations (EP/T008911/1) and Royal Society Grant Bidirectional Compiler for Software Evolution (IESR3170104).
Publisher Copyright:
© 2022, Springer Nature Switzerland AG.
Research Groups and Themes
- Programming Languages
Keywords
- eDSL
- Domain-specific languages
- Haskell
- Dataflow programming
Fingerprint
Dive into the research topics of 'CircuitFlow: A Domain Specific Language for Dataflow Programming'. Together they form a unique fingerprint.Projects
- 1 Finished
-
8030 EPSRC EP/T008911/1 EXHIBIT : Expressive High-Level Languages for Bidirectional Transformations
Wang, M. (Principal Investigator)
1/07/20 → 30/06/23
Project: Research