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 …

Generalizing Bulk-Synchronous Parallel Processing for Data Science: From Data to Threads and Agent-Based Simulations

Z Tian, P Lindner, M Nissl, C Koch… - Proceedings of the ACM on …, 2023 - dl.acm.org
We generalize the bulk-synchronous parallel (BSP) processing model to make it better
support agent-based simulations. Such simulations frequently exhibit hierarchical structure …

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 …

Finally, a polymorphic linear algebra language (pearl)

A Shaikhha, L Parreaux - lipics, 2019 - ora.ox.ac.uk
Many different data analytics tasks boil down to linear algebra primitives. In practice, for
each different type of workload, data scientists use a particular specialised library. In this …

Multi-stage programming with generative and analytical macros

N Stucki, JI Brachthäuser, M Odersky - Proceedings of the 20th ACM …, 2021 - dl.acm.org
In metaprogramming, code generation and code analysis are complementary. Traditionally,
principled metaprogramming extensions for programming languages, like MetaML and BER …

Specializing Data Access in a Distributed File System (Generative Pearl)

P Das, A Xhebraj, T Rompf - Proceedings of the 23rd ACM SIGPLAN …, 2024 - dl.acm.org
We propose DDLoader, a system that embeds information about data partitioning and data
distribution in distributed file systems using a metaprogramming framework. We demonstrate …

Seamless Scope-Safe Metaprogramming through Polymorphic Subtype Inference (Short Paper)

C Gao, L Parreaux - Proceedings of the 23rd ACM SIGPLAN …, 2024 - dl.acm.org
Practical metaprogramming applications often involve manipulating open code fragments,
which is easy to get wrong in the absence of static verification that all variable occurrences …

Reflection of terms in attribute grammars: Design and applications

L Kramer, T Kaminski, E Van Wyk - Journal of Computer Languages, 2021 - Elsevier
This paper shows how reflection on undecorated syntax trees (terms) used in attribute
grammars can significantly reduce the amount of boiler-plate specifications that must be …

Polymorphic Metaprogramming with Memory Management--An Adjoint Analysis of Metaprogramming

J Jang, B Pientka - arxiv preprint arxiv:2411.00752, 2024 - arxiv.org
We describe Elevator, a unifying polymorphic foundation for metaprogramming with memory
management based on adjoint modalities. In this setting, we distinguish between multiple …

Type-safe generation of modules in applicative and generative styles

Y Sato, Y Kameyama - Proceedings of the 20th ACM SIGPLAN …, 2021 - dl.acm.org
The MetaML approach for multi-stage programming provides the static guarantee of type
safety and scope safety for generated code, regardless of the values of static parameters …