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

Michael Arntzenius

dblp:184/8339 · DBLP profile ↗
← Back
3ranked-venue papers
2as first author
1since 2021 · last 2025
0009-0002-0417-5636ORCID · corroborated

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

Software engineering, systems software and programming languages · 3 · 2 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.

Theoretical computer science
1 paper
Logic in computer science · 100%
Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 50% Compilers and program optimization · 50%

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

TopicWeightPapersLastEvidence papers
Logic in computer science › logic programming
answer set programming
0.912025
Finite-Choice Logic Programming · Proc. ACM Program. Lang. 2025
Logic in computer science
logic programming
0.912025
Finite-Choice Logic Programming · Proc. ACM Program. Lang. 2025
Logic in computer science › logic programming
stable model semantics
0.912025
Finite-Choice Logic Programming · Proc. ACM Program. Lang. 2025
Programming languages and type systems › functional programming
higher-order functional languages
0.412020
Seminaïve evaluation for a higher-order functional language · Proc. ACM Program. Lang. 2020
Compilers and program optimization
program transformation
0.412020
Seminaïve evaluation for a higher-order functional language · Proc. ACM Program. Lang. 2020

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

fixed-point semantics · 0.9semi-naïve evaluation · 0.4program transformation · 0.4
YearPublicationVenuePosition
2025 Finite-Choice Logic Programming
abstract
Logic programming, as exemplified by datalog, defines the meaning of a program as its unique smallest model: the deductive closure of its inference rules. However, many problems call for an enumeration of models that vary along some set of choices while maintaining structural and logical constraints—there is no single canonical model. The notion of stable models for logic programs with negation has successfully captured programmer intuition about the set of valid solutions for such problems, giving rise to a family of programming languages and associated solvers known as answer set programming. Unfortunately, the definition of a stable model is frustratingly indirect, especially in the presence of rules containing free variables. We propose a new formalism, finite-choice logic programming, that uses choice, not negation, to admit multiple solutions. Finite-choice logic programming contains all the expressive power of the stable model semantics, gives meaning to a new and useful class of programs, and enjoys a least-fixed-point interpretation over a novel domain. We present an algorithm for exploring the solution space and prove it correct with respect to our semantics. Our implementation, the Dusa logic programming language, has performance that compares favorably with state-of-the-art answer set solvers and exhibits more predictable scaling with problem size.
Chris Martens 0001, Robert J. Simmons, Michael Arntzenius
Proc. ACM Program. Lang.3
2020 Seminaïve evaluation for a higher-order functional language
abstract
One of the workhorse techniques for implementing bottom-up Datalog engines is seminaïve evaluation. This optimization improves the performance of Datalog's most distinctive feature: recursively defined predicates. These are computed iteratively, and under a naïve evaluation strategy, each iteration recomputes all previous values. Seminaïve evaluation computes a safe approximation of the difference between iterations. This can asymptotically improve the performance of Datalog queries. Seminaïve evaluation is defined partly as a program transformation and partly as a modified iteration strategy, and takes advantage of the first-order nature of Datalog code. This paper extends the seminaïve transformation to higher-order programs written in the Datafun language, which extends Datalog with features like first-class relations, higher-order functions, and datatypes like sum types.
Michael Arntzenius, Neelakantan R. Krishnaswami
Proc. ACM Program. Lang.1
2016 Datafun: a functional Datalog
abstract
Datalog may be considered either an unusually powerful query language or a carefully limited logic programming language. Datalog is declarative, expressive, and optimizable, and has been applied successfully in a wide variety of problem domains. However, most use-cases require extending Datalog in an application-specific manner. In this paper we define Datafun, an analogue of Datalog supporting higher-order functional programming. The key idea is to track monotonicity with types.
Michael Arntzenius, Neelakantan R. Krishnaswami
ICFP1