Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- articleApril 2020
Funcons for HGMP: the fundamental constructs of homogeneous generative meta-programming (short paper)
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 9Pages 168–174https://doi.org/10.1145/3393934.3278132The PLanCompS project proposes a component-based approach to programming-language development in which fundamental constructs (funcons) are reused across language definitions. Homogeneous Generative Meta-Programming (HGMP) enables writing programs that ...
Also Published in:
GPCE 2018: Proceedings of the 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences: ISBN 9781450360456 - articleApril 2020
Meta-programming for cross-domain tensor optimizations
Many modern application domains crucially rely on tensor operations. The optimization of programs that operate on tensors poses difficulties that are not adequately addressed by existing languages and tools. Frameworks such as TensorFlow offer good ...
Also Published in:
GPCE 2018: Proceedings of the 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences: ISBN 9781450360456 - articleApril 2020
Inferring ownership domains from refinements
Ownership type qualifiers clarify aliasing invariants that cannot be directly expressed in mainstream programming languages. Adding qualifiers to code, however, often involves significant overhead and difficult interaction.
We propose an analysis to ...
Also Published in:
GPCE 2018: Proceedings of the 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences: ISBN 9781450360456 - articleApril 2020
Verification of high-level transformations with inductive refinement types
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 9Pages 147–160https://doi.org/10.1145/3393934.3278125High-level transformation languages like Rascal include expressive features for manipulating large abstract syntax trees: first-class traversals, expressive pattern matching, backtracking and generalized iterators. We present the design and ...
Also Published in:
GPCE 2018: Proceedings of the 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences: ISBN 9781450360456 - articleSeptember 2018
Embedding invertible languages with binders: a case of the FliPpr language
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 7Pages 158–171https://doi.org/10.1145/3299711.3242758This paper describes a new embedding technique of invertible programming languages, through the case of the FliPpr language. Embedded languages have the advantage of inheriting host languages' features and supports; and one of the influential methods of ...
Also Published in:
Haskell 2018: Proceedings of the 11th ACM SIGPLAN International Symposium on Haskell: ISBN 9781450358354 -
- research-articleJune 2018
Probabilistic programming with programmable inference
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 603–616https://doi.org/10.1145/3296979.3192409We introduce inference metaprogramming for probabilistic programming languages, including new language constructs, a formalism, and the rst demonstration of e ectiveness in practice. Instead of relying on rigid black-box inference algorithms hard-coded ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985 - articleOctober 2017
Decoding Lua: formal semantics for the developer and the semanticist
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 11Pages 75–86https://doi.org/10.1145/3170472.3133848We provide formal semantics for a large subset of the Lua programming language, in its version 5.2. We validate our model by mechanizing it and testing it against the test suite of the reference interpreter of Lua, obtaining evidence that our model ...
Also Published in:
DLS 2017: Proceedings of the 13th ACM SIGPLAN International Symposium on on Dynamic Languages: ISBN 9781450355261 - articleOctober 2017
The semantics of name resolution in grace
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 11Pages 63–74https://doi.org/10.1145/3170472.3133847Grace is a dynamic object oriented programming language designed to aid programming education. We present a formal model of and give an operational semantics for its object model and name resolution algorithm. Our main contributions are a systematic ...
Also Published in:
DLS 2017: Proceedings of the 13th ACM SIGPLAN International Symposium on on Dynamic Languages: ISBN 9781450355261 - articleOctober 2017
Semantics of asynchronous JavaScript
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 11Pages 51–62https://doi.org/10.1145/3170472.3133846JavaScript code running in the Node.js runtime is a major platform for developers building cloud, mobile, or IoT applications. A fundamental concept in Node.js programming is the use of asynchronous callbacks and event loops to provide highly ...
Also Published in:
DLS 2017: Proceedings of the 13th ACM SIGPLAN International Symposium on on Dynamic Languages: ISBN 9781450355261 - articleSeptember 2017
Ornaments: exploiting parametricity for safer, more automated code refactorization and code reuse (invited talk)
Inductive datatypes and parametric polymorphism are two key features introduced in the ML family of languages, which have already been widely exploited for structuring programs: Haskell and ML programs are often more elegant and more correct by ...
Also Published in:
Haskell 2017: Proceedings of the 10th ACM SIGPLAN International Symposium on Haskell: ISBN 9781450351829 - articleJune 2017
Compiling without continuations
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 6Pages 482–494https://doi.org/10.1145/3140587.3062380Many fields of study in compilers give rise to the concept of a join point—a place where different execution paths come together. Join points are often treated as functions or continuations, but we believe it is time to study them in their own right. ...
Also Published in:
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450349888 - articleJune 2017
A formally verified compiler for Lustre
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 6Pages 586–601https://doi.org/10.1145/3140587.3062358The correct compilation of block diagram languages like Lustre, Scade, and a discrete subset of Simulink is important since they are used to program critical embedded control software. We describe the specification and verification in an Interactive ...
Also Published in:
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450349888 - articleJune 2017
FunTAL: reasonably mixing a functional language with assembly
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 6Pages 495–509https://doi.org/10.1145/3140587.3062347We present FunTAL, the first multi-language system to formalize safe interoperability between a high-level functional language and low-level assembly code while supporting compositional reasoning about the mix. A central challenge in developing such a ...
Also Published in:
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450349888 - articleJune 2017
Taming undefined behavior in LLVM
- Juneyoung Lee,
- Yoonseung Kim,
- Youngju Song,
- Chung-Kil Hur,
- Sanjoy Das,
- David Majnemer,
- John Regehr,
- Nuno P. Lopes
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 6Pages 633–647https://doi.org/10.1145/3140587.3062343A central concern for an optimizing compiler is the design of its intermediate representation (IR) for code. The IR should make it easy to perform transformations, and should also afford efficient and precise static analysis. In this paper we study an ...
Also Published in:
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450349888 - research-articleApril 2017
An Architecture Supporting Formal and Compositional Binary Analysis
- Joseph McMahan,
- Michael Christensen,
- Lawton Nichols,
- Jared Roesch,
- Sung-Yee Guo,
- Ben Hardekopf,
- Timothy Sherwood
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 4Pages 177–191https://doi.org/10.1145/3093336.3037733Building a trustworthy life-critical embedded system requires deep reasoning about the potential effects that sequences of machine instructions can have on full system operation. Rather than trying to analyze complete binaries and the countless ways ...
Also Published in:
ASPLOS '17: Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems: ISBN 9781450344654 - invited-talkJanuary 2017
It's Time for a New Old Language
The most popular programming language in computer science has no compiler or interpreter. Its definition is not written down in any one place. It has changed a lot over the decades, and those changes have introduced ambiguities and inconsistencies. ...
Also Published in:
PPoPP '17: Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming: ISBN 9781450344937 - research-articleJanuary 2017
Hazelnut: a bidirectionally typed structure editor calculus
Structure editors allow programmers to edit the tree structure of a program directly. This can have cognitive benefits, particularly for novice and end-user programmers. It also simplifies matters for tool designers, because they do not need to contend ...
Also Published in:
POPL '17: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages: ISBN 9781450346603 - research-articleJanuary 2017
QWIRE: a core language for quantum circuits
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 1Pages 846–858https://doi.org/10.1145/3093333.3009894This paper introduces QWIRE (``choir''), a language for defining quantum circuits and an interface for manipulating them inside of an arbitrary classical host language. QWIRE is minimal---it contains only a few primitives---and sound with respect to ...
Also Published in:
POPL '17: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages: ISBN 9781450346603 - research-articleJanuary 2017
LightDP: towards automating differential privacy proofs
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 1Pages 888–901https://doi.org/10.1145/3093333.3009884The growing popularity and adoption of differential privacy in academic and industrial settings has resulted in the development of increasingly sophisticated algorithms for releasing information while preserving privacy. Accompanying this phenomenon is ...
Also Published in:
POPL '17: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages: ISBN 9781450346603 - research-articleJanuary 2017
Learning nominal automata
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 1Pages 613–625https://doi.org/10.1145/3093333.3009879We present an Angluin-style algorithm to learn nominal automata, which are acceptors of languages over infinite (structured) alphabets. The abstract approach we take allows us to seamlessly extend known variations of the algorithm to this new setting. ...
Also Published in:
POPL '17: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages: ISBN 9781450346603