Demo Data from EDBT 2026 / reviewers in the wild / expert
Ryan Yates
dblp:172/8808
· DBLP profile ↗
3ranked-venue papers
2as first author
0since 2021 · last 2019
0009-0000-2870-9044ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2 · 1 first-authorSystems, architecture and hardware · 1 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
1 paper |
Concurrent programming · 61% Runtime systems and virtual machines · 30% Programming languages and type systems · 9% |
Topics — the 3 heaviest of 4, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming › transactional memory
hardware transactional memory |
0.4 | 1 | 2019 | Leveraging hardware TM in Haskell · PPoPP 2019 |
Concurrent programming
transactional memory |
0.4 | 1 | 2019 | Leveraging hardware TM in Haskell · PPoPP 2019 |
Programming languages and type systems
functional programming |
0.1 | 1 | 2019 | Leveraging hardware TM in Haskell · PPoPP 2019 |
Methods — techniques the papers use, named apart from their topics
retry mechanism · 0.4lazy subscription · 0.4
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Leveraging hardware TM in HaskellabstractTransactional memory (TM) is heavily used for synchronization in the Haskell programming language, but its performance has historically been poor. We set out to improve this performance using hardware TM (HTM) on Intel processors. This task is complicated by Haskell's retry mechanism, which requires information to escape aborted transactions, and by the heavy use of indirection in the Haskell runtime, which means that even small transactions are likely to over-flow hardware buffers. It is eased by functional semantics, which preclude irreversible operations; by the static separation of transactional state, which precludes privatization; and by the error containment of strong typing, which enables so-called lazy subscription to the lock that protects the "fallback" code path. Ryan Yates, Michael L. Scott |
PPoPP | 1 |
| 2017 | Improving STM performance with transactional structsabstractSoftware transactional memory (STM) has made it significantly easier to write correct concurrent programs in Haskell. Its performance, however, is limited by several inefficiencies. While safe concurrent computations are easy to express in Haskell's STM, concurrent data structures suffer unfortunate bloat in the implementation due to an extra level of indirection for mutable references as well as the inability to express unboxed mutable transactional values. We address these deficiencies by introducing TStruct to the GHC run-time system, allowing strict unboxed transactional values as well as mutable references without an extra indirection. Using TStruct we implement several data structures, discuss their design, and provide benchmark results on a large multicore machine. Our benchmarks show that concurrent data structures built with TStruct out-scale and out-perform their TVar-based equivalents. Ryan Yates, Michael L. Scott |
Haskell | 1 |
| 2016 | Revisiting software transactional memory in HaskellabstractSoftware Transactional Memory (STM) has become very popular in Haskell. Currently, there are nearly 500 packages on Haskell’s package archive that directly use STM. Despite the widespread use in real world applications, Haskell’s STM implementation has seen very few updates since its introduction in 2005. Matt Le 0001, Ryan Yates, Matthew Fluet |
Haskell | 2 |