Blogs (9) >>
SPLASH 2016
Sun 30 October - Fri 4 November 2016 Amsterdam, Netherlands

File systems are often used to store persistent application data, but
manipulating file systems using standard APIs can be difficult for
programmers. Forest is a domain-specific language that bridges the gap
between the on-disk and in-memory representations of file system
data. Given a high-level specification of the structure, contents, and
properties of a collection of directories, files, and symbolic links,
the Forest compiler generates tools for loading, storing, and
validating that data. Unfortunately, the initial implementation of
Forest offered few mechanisms for controlling cost—e.g., the
run-time system could load gigabytes of data, even if only a few bytes
were needed. This paper introduces Incremental Forest (iForest), an
extension to Forest with an explicit $\textit{delay}$ construct that
programmers can use to precisely control costs. We describe the design
of iForest using a series of running examples, present a formal
semantics in a core calculus, and define a simple cost model that
accurately characterizes the resources needed to use a given
specification. We propose $\textit{skins}$, which allow programmers to
modify the delay structure of a specification in a compositional way,
and develop a static type system for ensuring compatibility between
specifications and skins. We prove the soundness and completeness of
the type system and a variety of algebraic properties of skins. We
describe an OCaml implementation and evaluate its performance on
applications developed in collaboration with watershed hydrologists.

Wed 2 Nov

splash-2016-oopsla
13:30 - 15:10: OOPSLA - Language Design and Programming Models I at Matterhorn 1
Chair(s): Roberto IerusalimschyPUC-Rio
splash-2016-oopsla147808980000013:30 - 13:55
Talk
Scott MooreHarvard University, Christos DimoulasHarvard University, Robby FindlerNorthwestern University, Matthew FlattUniversity of Utah, Stephen ChongHarvard University
DOI
splash-2016-oopsla147809130000013:55 - 14:20
Talk
Leo Osvald, Gregory Essertel, Xilun WuPurdue University, Lilliam I Gonzalez AlayonPurdue University, Tiark RompfPurdue University, USA
DOI
splash-2016-oopsla147809280000014:20 - 14:45
Talk
Jonathan DiLorenzoCornell University, Richard ZhangUniversity of Pennsylvania, Erin Menzies, Kathleen FisherTufts University, Nate FosterCornell University
DOI
splash-2016-oopsla147809430000014:45 - 15:10
Talk
Philipp HallerKTH Royal Institute of Technology, Alex LoikoGoogle Stockholm, Sweden
DOI Pre-print