Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Leif Andersen

dblp:85/7953 · DBLP profile ↗
← Back
5ranked-venue papers
4as first author
1since 2021 · last 2026
0000-0002-6179-7784ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 4 first-author · 1 since 2021

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
2 papers
Programming languages and type systems · 62% Program analysis · 29% Debugging and program repair · 9%
Human-computer interaction and pervasive computing
1 paper
User interface design and tools · 100%

Topics — the 4 heaviest of 5, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
User interface design and tools
programming environments
0.412020
Adding interactive visual syntax to textual code · Proc. ACM Program. Lang. 2020
Programming languages and type systems › language design
language features
0.412019
Feature-Specific Profiling · ACM Trans. Program. Lang. Syst. 2019
Program analysis › dynamic analysis
profiling
0.412019
Feature-Specific Profiling · ACM Trans. Program. Lang. Syst. 2019
Debugging and program repair
performance debugging
0.112019
Feature-Specific Profiling · ACM Trans. Program. Lang. Syst. 2019

Methods — techniques the papers use, named apart from their topics

prototype implementation · 0.9profiling · 0.4feature-specific profiling · 0.4
YearPublicationVenuePosition
2026 Mixing visual and textual code
Leif Andersen, Michael Ballantyne, Cameron Moy, Matthias Felleisen, Stephen Chang 0001
J. Funct. Program.1
2020 Adding interactive visual syntax to textual code
abstract
Many programming problems call for turning geometrical thoughts into code: tables, hierarchical structures, nests of objects, trees, forests, graphs, and so on. Linear text does not do justice to such thoughts. But, it has been the dominant programming medium for the past and will remain so for the foreseeable future. This paper proposes a novel mechanism for conveniently extending textual programming languages with problem-specific visual syntax. It argues the necessity of this language feature, demonstrates the feasibility with a robust prototype, and sketches a design plan for adapting the idea to other languages.
Leif Andersen, Michael Ballantyne, Matthias Felleisen
Proc. ACM Program. Lang.1
2019 Feature-Specific Profiling
abstract
While high-level languages come with significant readability and maintainability benefits, their performance remains difficult to predict. For example, programmers may unknowingly use language features inappropriately, which cause their programs to run slower than expected. To address this issue, we introduce feature-specific profiling , a technique that reports performance costs in terms of linguistic constructs. Feature-specific profilers help programmers find expensive uses of specific features of their language. We describe the architecture of a profiler that implements our approach, explain prototypes of the profiler for two languages with different characteristics and implementation strategies, and provide empirical evidence for the approach’s general usefulness as a performance debugging tool.
Leif Andersen, Vincent St-Amour, Jan Vitek, Matthias Felleisen
ACM Trans. Program. Lang. Syst.1
2017 Super 8 languages for making movies (functional pearl)
abstract
The Racket doctrine tells developers to narrow the gap between the terminology of a problem domain and general programming constructs by creating languages instead of just plain programs. This pearl illustrates this point with the creation of a relatively simple domain-specific language for editing videos. To produce the video proceedings of a conference, for example, video professionals traditionally use "non-linear" GUI editors to manually edit each talk, despite the repetitive nature of the process. As it turns out, video editing naturally splits the work into a declarative phase and an imperative rendering phase at the end. Hence it is natural to create a functional-declarative language for the first phase, which reduces a lot of manual labor. This user-facing DSL utilizes a second, internal DSL to implement the second phase, which is an interface to a general, low-level C library. Finally, we inject type checking into our language via another DSL that supports programming in the language of type formalisms. In short, the development of the video editing language cleanly demonstrates how the Racket doctrine naturally leads to the creation of language hierarchies, analogous to the hierarchies of modules found in conventional functional languages.
Leif Andersen, Stephen Chang 0001, Matthias Felleisen
Proc. ACM Program. Lang.1
2015 Feature-Specific Profiling
Vincent St-Amour, Leif Andersen, Matthias Felleisen
CC2