DLS 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
co-located with SPLASH 2021
Tue 19 Oct 2021 08:15 - 08:40 at Zurich C - DLS Talks 2
Tue 19 Oct 2021 16:15 - 16:40 at Zurich C - DLS Talks 2 Chair(s): Arjun Guha

Many functional languages—including Racket, Clojure, and
Scala—provide a persistent-map datatype with an implementation
based on Hash Array Mapped Tries (HAMTs). HAMTs enable efficient
functional lookup, insertion, and deletion operations with a small
memory footprint, especially when taking advantage of implementation
techniques that have been developed since the original HAMT
implementation. Racket's latest HAMT implementation is based on an
intermediate data structure, a stencil vector, that
supports an especially compact representation of HAMTs with
help from the compiler and memory manager. That is,
stencil vectors provide an abstraction to improve HAMT performance
without burdening the compiler with all of the
complexity and design choices of a HAMT implementation. Benchmark
measurements show that HAMTs in Racket have performance comparable to
other state-of-the-art implementations, while stencil-vector HAMTs are
more compact and run as fast as alternative representations
in Racket. Although we only report on Racket, our experience suggests
that a stencil-vector datatype in other dynamic-language
implementations might improve HAMT performance in those
implementations.

Tue 19 Oct

Displayed time zone: Central Time (US & Canada) change

15:40 - 17:00
DLS Talks 2DLS 2021 at Zurich C -8h
Chair(s): Arjun Guha Northeastern University
15:40
10m
Day opening
Chair's Welcome and Most Notable Paper AwardVirtual
DLS 2021

15:50
25m
Paper
Union and Intersection Contracts Are Hard, ActuallyResearch PaperVirtual
DLS 2021
Teodoro Freund University of Buenos Aires, Yann Hamdaoui Tweag, Arnaud Spiwack Tweag
DOI
16:15
25m
Paper
Runtime and Compiler Support for HAMTsResearch PaperVirtual
DLS 2021
Sona Torosyan University of Utah, Jon Zeppieri n.n., Matthew Flatt University of Utah
DOI