Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs

T Rompf, M Odersky - Proceedings of the ninth international conference …, 2010 - dl.acm.org
Software engineering demands generality and abstraction, performance demands
specialization and concretization. Generative programming can provide both, but the effort …

Probabilistic inference by program transformation in Hakaru (system description)

P Narayanan, J Carette, W Romano, C Shan… - Functional and Logic …, 2016 - Springer
We present Hakaru, a new probabilistic programming system that allows composable reuse
of distributions, queries, and inference algorithms, all expressed in a single language of …

Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs

T Rompf, M Odersky - Communications of the ACM, 2012 - dl.acm.org
Good software engineering practice demands generalization and abstraction, whereas high
performance demands specialization and concretization. These goals are at odds, and …

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 …

Programming and reasoning with algebraic effects and dependent types

E Brady - Proceedings of the 18th ACM SIGPLAN international …, 2013 - dl.acm.org
One often cited benefit of pure functional programming is that pure code is easier to test and
reason about, both formally and informally. However, real programs have side-effects …

Folding domain-specific languages: deep and shallow embeddings (functional pearl)

J Gibbons, N Wu - Proceedings of the 19th ACM SIGPLAN international …, 2014 - dl.acm.org
A domain-specific language can be implemented by embedding within a general-purpose
host language. This embedding may be deep or shallow, depending on whether terms in the …

Alchemy: A language and compiler for homomorphic encryption made easy

E Crockett, C Peikert, C Sharp - Proceedings of the 2018 ACM SIGSAC …, 2018 - dl.acm.org
Fully Homomorphic Encryption (FHE) is a cryptographic" holy grail" that allows a worker to
perform arbitrary computations on client-encrypted data, without learning anything about the …

Optimizing data structures in high-level programs: New directions for extensible compilers based on staging

T Rompf, AK Sujeeth, N Amin, KJ Brown… - Proceedings of the 40th …, 2013 - dl.acm.org
High level data structures are a cornerstone of modern programming and at the same time
stand in the way of compiler optimizations. In order to reason about user-or library-defined …

Dependently typed programming with singletons

RA Eisenberg, S Weirich - ACM SIGPLAN Notices, 2012 - dl.acm.org
Haskell programmers have been experimenting with dependent types for at least a decade,
using clever encodings that push the limits of the Haskell type system. However, the …

Functors are type refinement systems

PA Melliès, N Zeilberger - Proceedings of the 42nd Annual ACM …, 2015 - dl.acm.org
The standard reading of type theory through the lens of category theory is based on the idea
of viewing a type system as a category of well-typed terms. We propose a basic revision of …