Demo Data from EDBT 2026 / reviewers in the wild / expert
William D. Clinger
dblp:23/2569
· DBLP profile ↗
9ranked-venue papers
6as first author
0since 2021 · last 2020
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 9 · 6 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
3 papers |
Runtime systems and virtual machines · 62% Programming languages and type systems · 31% Compilers and program optimization · 7% | |
| Theoretical computer science
1 paper |
Mathematical optimization · 77% Algorithms and data structures · 23% |
Topics — the 9 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Runtime systems and virtual machines
garbage collection |
0.0 | 2 | 1998 | Proper Tail Recursion and Space Efficiency · PLDI 1998 Generational Garbage Collection and the Radioactive Decay Model · PLDI 1997 |
Programming languages and type systems
language semantics |
0.0 | 1 | 1998 | Proper Tail Recursion and Space Efficiency · PLDI 1998 |
Runtime systems and virtual machines › garbage collection
generational garbage collection |
0.0 | 1 | 1997 | Generational Garbage Collection and the Radioactive Decay Model · PLDI 1997 |
Programming languages and type systems › metaprogramming
macro systems |
0.0 | 1 | 1991 | Macros That Work · POPL 1991 |
Mathematical optimization › numerical computation
floating-point arithmetic |
0.0 | 1 | 1990 | How to Read Floating-Point Numbers Accurately · PLDI 1990 |
Mathematical optimization
numerical computation |
0.0 | 1 | 1990 | How to Read Floating-Point Numbers Accurately · PLDI 1990 |
Compilers and program optimization › compiler optimization › control flow optimization
tail call optimization |
0.0 | 1 | 1998 | Proper Tail Recursion and Space Efficiency · PLDI 1998 |
Algorithms and data structures › computer arithmetic
arbitrary-precision arithmetic |
0.0 | 1 | 1990 | How to Read Floating-Point Numbers Accurately · PLDI 1990 |
Algorithms and data structures
numerical algorithms |
0.0 | 1 | 1990 | How to Read Floating-Point Numbers Accurately · PLDI 1990 |
Methods — techniques the papers use, named apart from their topics
formal semantics · 0.0asymptotic analysis · 0.0radioactive decay model · 0.0probabilistic modeling · 0.0exact rational arithmetic · 0.0continued fractions · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Hygienic macro technologyabstractThe fully parenthesized Cambridge Polish syntax of Lisp, originally regarded as a temporary expedient to be replaced by more conventional syntax, possesses a peculiar virtue: A read procedure can parse it without knowing the syntax of any expressions, statements, definitions, or declarations it may represent. The result of that parsing is a list structure that establishes a standard representation for uninterpreted abstract syntax trees. This representation provides a convenient basis for macro processing, which allows the programmer to specify that some simple piece of abstract syntax should be replaced by some other, more complex piece of abstract syntax. As is well-known, this yields an abstraction mechanism that does things that procedural abstraction cannot, such as introducing new binding structures. The existence of that standard representation for uninterpreted abstract syntax trees soon led Lisp to a greater reliance upon macros than was common in other high-level languages. The importance of those features is suggested by the ten pages devoted to macros in an earlier ACM HOPL paper, “The Evolution of Lisp.” However, na'ive macro expansion was a leaky abstraction, because the movement of a piece of syntax from one place to another might lead to the accidental rebinding of a program’s identifiers. Although this problem was recognized in the 1960s, it was 20 years before a reliable solution was discovered, and another 10 before a solution was discovered that was reliable, flexible, and efficient. In this paper, we summarize that early history with greater focus on hygienic macros, and continue the story by describing the further development, adoption, and influence of hygienic and partially hygienic macro technology in Scheme. The interplay between the desire for standardization and the development of new algorithms is a major theme of that story. We then survey the ways in which hygienic macro technology has been adapted into recent non-parenthetical languages. Finally, we provide a short history of attempts to provide a formal account of macro processing. William D. Clinger, Mitchell Wand |
Proc. ACM Program. Lang. | 1 |
| 2011 | Bounded-latency regional garbage collectionabstractRegional garbage collection is scalable, with theoretical worst-case bounds for gc latency, MMU, and throughput that are independent of mutator behavior and the volume of reachable storage. Regional collection improves upon the worst-case pause times and MMU seen in most other general-purpose collectors, including garbage-first and concurrent mark/sweep collectors. Felix S. Klock II, William D. Clinger |
DLS | 2 |
| 2006 | Linear combinations of radioactive decay models for generational garbage collection
William D. Clinger, Fabio V. Rojas |
Sci. Comput. Program. | 1 |
| 2002 | An experimental study of renewal-older-first garbage collectionabstractGenerational collection has improved the efficiency of garbage collection in fast-allocating programs by focusing on collecting young garbage, but has done little to reduce the cost of collecting a heap containing large amounts of older data. A new generational technique, older-first collection, shows promise in its ability to manage older data.This paper reports on an implementation study that compared two older-first collectors to traditional (younger-first) generational collectors. One of the older-first collectors performed well and was often effective at reducing the first-order cost of collection relative to younger-first collectors. Older-first collectors perform especially well when objects have queue-like or random lifetimes. Lars Thomas Hansen, William D. Clinger |
ICFP | 2 |
| 2001 | Set constraints for destructive array update optimizationabstractDestructive array update optimization is critical for writing scientific codes in functional languages. We present set constraints for an interprocedural update optimization that runs in polynomial time. This is a multi-pass optimization, involving interprocedural flow analyses for aliasing and liveness. We characterize and prove the soundness of these analyses using small-step operational semantics. We also prove that any sound liveness analysis induces a correct program transformation. Mitchell Wand, William D. Clinger |
J. Funct. Program. | 2 |
| 1998 | Proper Tail Recursion and Space EfficiencyabstractThe IEEE/ANSI standard for Scheme requires implementations to be properly tail recursive. This ensures that portable code can rely upon the space efficiency of continuation-passing style and other idioms. On its face, proper tail recursion concerns the efficiency of procedure calls that occur within a tail context. When examined closely, proper tail recursion also depends upon the fact that garbage collection can be asymptotically more space-efficient than Algol-like stack allocation.Proper tail recursion is not the same as ad hoc tail call optimization in stack-based languages. Proper tail recursion often precludes stack allocation of variables, but yields a well-defined asymptotic space complexity that can be relied upon by portable programs.This paper offers a formal and implementation-independent definition of proper tail recursion for Scheme. It also shows how an entire family of reference implementations can be used to characterize related safe-for-space properties, and proves the asymptotic inequalities that hold between them. William D. Clinger |
PLDI | 1 |
| 1997 | Generational Garbage Collection and the Radioactive Decay ModelabstractIf a fixed exponentially decreasing probability distribution function is used to model every object's lifetime, then the age of an object gives no information about its future life expectancy. This radioactive decay model implies there can be no rational basis for deciding which live objects should be promoted to another generation. Yet there remains a rational basis for deciding how many objects to promote, when to collect garbage, and which generations to collect.Analysis of the model leads to a new kind of generational garbage collector whose effectiveness does not depend upon heuristics that predict which objects will live longer than others.This result provides insight into the computational advantages of generational garbage collection, with implications for the management of objects whose life expectancies are difficult to predict. William D. Clinger, Lars Thomas Hansen |
PLDI | 1 |
| 1991 | Macros That WorkabstractArticle Macros that work Share on Authors: William Clinger Department of Computer Science, University of Oregon Department of Computer Science, University of OregonView Profile , Jonathan Rees Artificial Intelligence Laboratory, Massachusetts Institute of Technology, Cambridge, MA Artificial Intelligence Laboratory, Massachusetts Institute of Technology, Cambridge, MAView Profile Authors Info & Claims POPL '91: Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesJanuary 1991 Pages 155–162https://doi.org/10.1145/99583.99607Online:03 January 1991Publication History 102citation1,489DownloadsMetricsTotal Citations102Total Downloads1,489Last 12 Months27Last 6 weeks4 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access William D. Clinger, Jonathan Rees |
POPL | 1 |
| 1990 | How to Read Floating-Point Numbers AccuratelyabstractConsider the problem of converting decimal scientific notation for a number into the best binary floating point approximation to that number, for some fixed precision. This problem cannot be solved using arithmetic of any fixed precision. Hence the IEEE Standard for Binary Floating-Point Arithmetic does not require the result of such a conversion to be the best approximation. William D. Clinger |
PLDI | 1 |