Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleAugust 2024
Staged Compilation with Module Functors
Proceedings of the ACM on Programming Languages (PACMPL), Volume 8, Issue ICFPArticle No.: 260, Pages 693–727https://doi.org/10.1145/3674649Multi-stage programming has been used in a wide variety of domains to eliminate the tension between abstraction and performance. However, the interaction of multi-stage programming features with features for programming-in-the-large remains understudied, ...
- research-articleAugust 2024
Oxidizing OCaml with Modal Memory Management
Proceedings of the ACM on Programming Languages (PACMPL), Volume 8, Issue ICFPArticle No.: 253, Pages 485–514https://doi.org/10.1145/3674642Programmers can often improve the performance of their programs by reducing heap allocations: either by allocating on the stack or reusing existing memory in-place. However, without safety guarantees, these optimizations can easily lead to use-after-free ...
MacoCaml: Staging Composable and Compilable Macros
Proceedings of the ACM on Programming Languages (PACMPL), Volume 7, Issue ICFPArticle No.: 209, Pages 604–648https://doi.org/10.1145/3607851We introduce MacoCaml, a new design and implementation of compile-time code generation for the OCaml language. MacoCaml features a novel combination of macros with phase separation and quotation-based staging, where macros are considered as compile-time ...
Retrofitting effect handlers onto OCaml
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 206–221https://doi.org/10.1145/3453483.3454039Effect handlers have been gathering momentum as a mechanism for modular programming with user-defined effects. Effect handlers allow for non-local control flow mechanisms such as generators, async/await, lightweight threads and coroutines to be ...
Retrofitting parallelism onto OCaml
- KC Sivaramakrishnan,
- Stephen Dolan,
- Leo White,
- Sadiq Jaffer,
- Tom Kelly,
- Anmol Sahoo,
- Sudha Parimala,
- Atul Dhiman,
- Anil Madhavapeddy
Proceedings of the ACM on Programming Languages (PACMPL), Volume 4, Issue ICFPArticle No.: 113, Pages 1–30https://doi.org/10.1145/3408995OCaml is an industrial-strength, multi-paradigm programming language, widely used in industry and academia. OCaml is also one of the few modern managed system programming languages to lack support for shared memory parallel programming. This paper ...
- research-articleJuly 2019
Lambda: the ultimate sublanguage (experience report)
Proceedings of the ACM on Programming Languages (PACMPL), Volume 3, Issue ICFPArticle No.: 116, Pages 1–17https://doi.org/10.1145/3342713We describe our experience teaching an advanced typed functional programming course based around the use of System Fω as a programming language.
- ArticleJune 2011
OpenMP extensions for heterogeneous architectures
IWOMP'11: Proceedings of the 7th international conference on OpenMP in the Petascale eraPages 94–107Modern architectures are becoming more heterogeneous. OpenMP currently has no mechanism for assigning work to specific parts of these heterogeneous architectures.We propose a combination of thread mapping and subteams as a means to give programmers ...