Getting to the point: index sets and parallelism-preserving autodiff for pointful array programming

A Paszke, DD Johnson, D Duvenaud… - Proceedings of the …, 2021 - dl.acm.org
We present a novel programming language design that attempts to combine the clarity and
safety of high-level functional languages with the efficiency and parallelism of low-level …

How to architect a query compiler

A Shaikhha, Y Klonatos, L Parreaux, L Brown… - Proceedings of the …, 2016 - dl.acm.org
This paper studies architecting query compilers. The state of the art in query compiler
construction is lagging behind that in the compilers field. We attempt to remedy this by …

Handling iterations in distributed dataflow systems

GE Gévay, J Soto, V Markl - ACM Computing Surveys (CSUR), 2021 - dl.acm.org
Over the past decade, distributed dataflow systems (DDS) have become a standard
technology. In these systems, users write programs in restricted dataflow programming …

An intermediate representation for optimizing machine learning pipelines

A Kunft, A Katsifodimos, S Schelter, S Breß… - Proceedings of the …, 2019 - dl.acm.org
Machine learning (ML) pipelines for model training and validation typically include
preprocessing, such as data cleaning and feature engineering, prior to training an ML …

Unifying analytic and statically-typed quasiquotes

L Parreaux, A Voizard, A Shaikhha… - Proceedings of the ACM on …, 2017 - dl.acm.org
Metaprograms are programs that manipulate (generate, analyze and evaluate) other
programs. These tasks are greatly facilitated by quasiquotation, a technique to construct and …

[PDF][PDF] Go meta! A case for generative programming and dsls in performance critical systems

T Rompf, KJ Brown, HJ Lee… - 1st Summit on …, 2015 - research-collection.ethz.ch
Go Meta! A Case for Generative Programming and DSLs in Performance Critical Systems
Page 1 ETH Library Go Meta! A Case for Generative Programming and DSLs in Performance …

Static interpretation of higher-order modules in Futhark: Functional GPU programming in the large

M Elsman, T Henriksen, D Annenkov… - Proceedings of the ACM …, 2018 - dl.acm.org
We present a higher-order module system for the purely functional data-parallel array
language Futhark. The module language has the property that it is completely eliminated at …

Compiled, Extensible, Multi-language DSLs (Functional Pearl)

M Ballantyne, M Gamburg, J Hemann - Proceedings of the ACM on …, 2024 - dl.acm.org
Implementations of domain-specific languages should offer both extensibility and
performance optimizations. With the new syntax-spec metalanguage in Racket …

Quoted staged rewriting: a practical approach to library-defined optimizations

L Parreaux, A Shaikhha, CE Koch - Proceedings of the 16th ACM …, 2017 - dl.acm.org
Staging has proved a successful technique for programmatically removing code
abstractions, thereby allowing for faster program execution while retaining a high-level …

Representations and optimizations for embedded parallel dataflow languages

A Alexandrov, G Krastev, V Markl - ACM Transactions on Database …, 2019 - dl.acm.org
Parallel dataflow engines such as Apache Hadoop, Apache Spark, and Apache Flink are an
established alternative to relational databases for modern data analysis applications. A …