Mads Sig Ager

dblp:47/923 · DBLP profile ↗
← Back
6ranked-venue papers
6as first author
0since 2021 · last 2006
—ORCID · none

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

Software engineering, systems software and programming languages · 4 · 4 first-authorTheory of computation · 4 · 4 first-authorDatabases, data management, data science and information retrieval · 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
Compilers and program optimization · 100%
Theoretical computer science
1 paper
Algorithms and data structures · 100%

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

TopicWeightPapersLastEvidence papers
Compilers and program optimization
partial evaluation
0.112006
Fast partial evaluation of pattern matching in strings · ACM Trans. Program. Lang. Syst. 2006
Compilers and program optimization
program specialization
0.112006
Fast partial evaluation of pattern matching in strings · ACM Trans. Program. Lang. Syst. 2006
Algorithms and data structures › sequence algorithms › string algorithms › string matching
knuth-morris-pratt algorithm
0.112006
Fast partial evaluation of pattern matching in strings · ACM Trans. Program. Lang. Syst. 2006
Algorithms and data structures › sequence algorithms › string algorithms
string matching
0.112006
Fast partial evaluation of pattern matching in strings · ACM Trans. Program. Lang. Syst. 2006
Compilers and program optimization
memoization
0.012006
Fast partial evaluation of pattern matching in strings · ACM Trans. Program. Lang. Syst. 2006

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

partial evaluation · 0.1memoization · 0.1
YearPublicationVenuePosition
2006 Fast partial evaluation of pattern matching in strings
abstract
We show how to obtain all of Knuth, Morris, and Pratt's linear-time string matcher by specializing a quadratic-time string matcher with respect to a pattern string. Although it has been known for fifteen years how to obtain this linear matcher by partial evaluation of a quadratic one, how to obtain it in linear time has remained an open problem.Obtaining a linear matcher by the partial evaluation of a quadratic one is achieved by performing its backtracking at specialization time and memoizing its results. We show (1) how to rewrite the source matcher such that its static intermediate computations can be shared at specialization time and (2) how to extend the memoization capabilities of a partial evaluator to static functions. Such an extended partial evaluator, if its memoization is implemented efficiently, specializes the rewritten source matcher in linear time. Finally, we show that the method also applies to a variant of Boyer and Moore's string matcher.
Mads Sig Ager, Olivier Danvy, Henning Korsholm Rohde
ACM Trans. Program. Lang. Syst.1
2005 A functional correspondence between monadic evaluators and abstract machines for languages with computational effects
Mads Sig Ager, Olivier Danvy, Jan Midtgaard
Theor. Comput. Sci.1
2004 From Natural Semantics to Abstract Machines
Mads Sig Ager
LOPSTR1
2004 A functional correspondence between call-by-need evaluators and lazy abstract machines
Mads Sig Ager, Olivier Danvy, Jan Midtgaard
Inf. Process. Lett.1
2003 Fast partial evaluation of pattern matching in strings
abstract
We show how to obtain all of Knuth, Morris, and Pratt's linear-time string matcher by partial evaluation of a quadratic-time string matcher with respect to a pattern string. Although it has been known for 15 years how to obtain this linear matcher by partial evaluation of a quadratic one, how to obtain it in linear time has remained an open problem.Obtaining a linear matcher by partial evaluation of a quadratic one is achieved by performing its backtracking at specialization time and memoizing its results. We show (1) how to rewrite the source matcher such that its static intermediate computations can be shared at specialization time and (2) how to extend the memoization capabilities of a partial evaluator to static functions. Such an extended partial evaluator, if its memoization is implemented efficiently, specializes the rewritten source matcher in linear time.
Mads Sig Ager, Olivier Danvy, Henning Korsholm Rohde
PEPM1
2003 A functional correspondence between evaluators and abstract machines
abstract
We bridge the gap between functional evaluators and abstract machines for the λ-calculus, using closure conversion, transformation into continuation-passing style, and defunctionalization.We illustrate this approach by deriving Krivine's abstract machine from an ordinary call-by-name evaluator and by deriving an ordinary call-by-value evaluator from Felleisen et al.'s CEK machine. The first derivation is strikingly simpler than what can be found in the literature. The second one is new. Together, they show that Krivine's abstract machine and the CEK machine correspond to the call-by-name and call-by-value facets of an ordinary evaluator for the λ-calculus.We then reveal the denotational content of Hannan and Miller's CLS machine and of Landin's SECD machine. We formally compare the corresponding evaluators and we illustrate some degrees of freedom in the design spaces of evaluators and of abstract machines for the λ-calculus with computational effects.Finally, we consider the Categorical Abstract Machine and the extent to which it is more of a virtual machine than an abstract machine.
Mads Sig Ager, Dariusz Biernacki, Olivier Danvy, Jan Midtgaard
PPDP1