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-articleJanuary 2008
The design and implementation of typed scheme
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 395–406https://doi.org/10.1145/1328438.1328486When scripts in untyped languages grow into large programs, maintaining them becomes difficult. A lack of types in typical scripting languages means that programmers must (re)discover critical pieces of design information every time they wish to change ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
A type-theoretic foundation for programming with higher-order abstract syntax and first-class substitutions
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 371–382https://doi.org/10.1145/1328438.1328483Higher-order abstract syntax (HOAS) is a simple, powerful technique for implementing object languages, since it directly supports common and tricky routines dealing with variables, such as capture-avoiding substitution and renaming. This is achieved by ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Focusing and higher-order abstract syntax
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 359–369https://doi.org/10.1145/1328438.1328482Focusing is a proof-search strategy, originating in linear logic, that elegantly eliminates inessential nondeterminism, with one byproduct being a correspondence between focusing proofs and programs with explicit evaluation order. Higher-order abstract ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Cryptographically sound implementations for typed information-flow security
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 323–335https://doi.org/10.1145/1328438.1328478In language-based security, confidentiality and integrity policies conveniently specify the permitted flows of information between different parts of a program with diverse levels of trust. These policies enable a simple treatment of security, and they ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Foundations for structured programming with GADTs
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 297–308https://doi.org/10.1145/1328438.1328475GADTs are at the cutting edge of functional programming and becomemore widely used every day. Nevertheless, the semantic foundations underlying GADTs are not well understood. In this paper we solve this problem by showing that the standard theory of ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 -
- research-articleJanuary 2008
Clowns to the left of me, jokers to the right (pearl): dissecting data structures
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 287–295https://doi.org/10.1145/1328438.1328474This paper introduces a small but useful generalisation to the 'derivative' operation on datatypes underlying Huet's notion of 'zipper', giving a concrete representation to one-hole contexts in data which is undergoing transformation. This operator, '...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Multiparty asynchronous session types
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 273–284https://doi.org/10.1145/1328438.1328472Communication is becoming one of the central elements in software development. As a potential typed foundation for structured communication-centred programming, session types have been studied over the last decade for a wide range of process calculi and ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
A theory of platform-dependent low-level software
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 209–220https://doi.org/10.1145/1328438.1328465The C language definition leaves the sizes and layouts of types partially unspecified. When a C program makes assumptions about type layout, its semantics is defined only on platforms (C compilers and the underlying hardware) on which those assumptions ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Back to the future: revisiting precise program verification using SMT solvers
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 171–182https://doi.org/10.1145/1328438.1328461This paper takes a fresh look at the problem of precise verification of heap-manipulating programs using first-order Satisfiability-Modulo-Theories (SMT) solvers. We augment the specification logic of such solvers by introducing the Logic of Interpreted ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Lightweight semiformal time complexity analysis for purely functional data structures
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 133–144https://doi.org/10.1145/1328438.1328457Okasaki and others have demonstrated how purely functional data structures that are efficient even in the presence of persistence can be constructed. To achieve good time bounds essential use is often made of laziness. The associated complexity analysis ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Contextual effects for version-consistent dynamic software updating and safe concurrent programming
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 37–49https://doi.org/10.1145/1328438.1328447This paper presents a generalization of standard effect systems that we call contextual effects. A traditional effect system computes the effect of an expression e. Our system additionally computes the effects of the computational context in which e ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Much ado about two (pearl): a pearl on parallel prefix computation
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 29–35https://doi.org/10.1145/1328438.1328445This pearl develops a statement about parallel prefix computation in the spirit of Knuth's 0-1-Principle for oblivious sorting algorithms. It turns out that 0-1 is not quite enough here. The perfect hammer for the nails we are going to drive in is ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Engineering formal metatheory
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 3–15https://doi.org/10.1145/1328438.1328443Machine-checked proofs of properties of programming languages have become acritical need, both for increased confidence in large and complex designsand as a foundation for technologies such as proof-carrying code. However, constructing these proofs ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - invited-talkJanuary 2008
Caml trading
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPage 285https://doi.org/10.1145/1328438.1328441Jane Street Capital is a successful proprietary trading company that has shifted from developing software in mainstream programming languages to developing software almost entirely in OCaml, a statically typed functional programming language that has ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
From dirt to shovels: fully automatic tool generation from ad hoc data
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 421–434https://doi.org/10.1145/1328438.1328488An ad hoc data source is any semistructured data source for which useful data analysis and transformation tools are not readily available. Such data must be queried, transformed and displayed by systems administrators, computational biologists, ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Boomerang: resourceful lenses for string data
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 407–419https://doi.org/10.1145/1328438.1328487A lens is a bidirectional program. When read from left toright, it denotes an ordinary function that maps inputs to outputs. When read from right to left, it denotes an ''update translator'' that takes an input together with an updated output and ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Extensible encoding of type hierarchies
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 349–358https://doi.org/10.1145/1328438.1328480The subtyping test consists of checking whether a type t is a descendant of a type r (Agrawal et al. 1989). We study how to perform such a test efficiently, assuming a dynamic hierarchy when new types are inserted at run-time. The goal is to achieve ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Imperative self-adjusting computation
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 309–322https://doi.org/10.1145/1328438.1328476Self-adjusting computation enables writing programs that can automatically and efficiently respond to changes to their data (e.g., inputs). The idea behind the approach is to store all data that can change over time in modifiable references and to let ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Relational inductive shape analysis
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 247–260https://doi.org/10.1145/1328438.1328469Shape analyses are concerned with precise abstractions of the heap to capture detailed structural properties. To do so, they need to build and decompose summaries of disjoint memory regions. Unfortunately, many data structure invariants require ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Lifting abstract interpreters to quantified logical domains
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 235–246https://doi.org/10.1145/1328438.1328468We describe a general technique for building abstract interpreters over powerful universally quantified abstract domains that leverage existing quantifier-free domains. Our quantified abstract domain can represent universally quantified facts like ∀i(0 ≤...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1