EDBT 2026 Demo / reviewers in the wild / expert
Malgorzata Biernacka
dblp:67/3482
· DBLP profile ↗
14ranked-venue papers
13as first author
6since 2021 · last 2024
0000-0001-8094-0980ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 12 · 11 first-author · 5 since 2021Software engineering, systems software and programming languages · 6 · 5 first-author · 2 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Optimizing a Non-Deterministic Abstract Machine with EnvironmentsabstractNon-deterministic abstract machine (NDAM) is a recent implementation model for programming languages where one must choose among several redexes at each reduction step, like process calculi. These machines can be derived from a zipper semantics, a mix between structural operational semantics and context-based reduction semantics. Such a machine has been generated also for the λ-calculus without a fixed reduction strategy, i.e., with the full non-deterministic β-reduction. In that machine, substitution is an external operation that replaces all the occurrences of a variable at once. Implementing substitution with environments is more low-level and more efficient as variables are replaced only when needed. In this paper, we define a NDAM with environments for the λ-calculus without a fixed reduction strategy. We also introduce other optimizations, including a form of refocusing, and we show that we can restrict our optimized NDAM to recover some of the usual λ-calculus machines, e.g., the Krivine Abstract Machine. Most of the improvements we propose in this work could be applied to other NDAMs as well. Malgorzata Biernacka, Dariusz Biernacki, Sergueï Lenglet, Alan Schmitt |
FSCD | 1 |
| 2024 | Fully Abstract Encodings of $\lambda$-Calculus in HOcore through Abstract MachinesabstractWe present fully abstract encodings of the call-by-name and call-by-value $\lambda$-calculus into HOcore, a minimal higher-order process calculus with no name restriction. We consider several equivalences on the $\lambda$-calculus side -- normal-form bisimilarity, applicative bisimilarity, and contextual equivalence -- that we internalize into abstract machines in order to prove full abstraction of the encodings. We also demonstrate that this technique scales to the $\lambda\mu$-calculus, i.e., a standard extension of the $\lambda$-calculus with control operators. Malgorzata Biernacka, Dariusz Biernacki, Sergueï Lenglet, Piotr Polesiuk, Damien Pous, Alan Schmitt |
Log. Methods Comput. Sci. | 1 |
| 2022 | Non-Deterministic Abstract MachinesabstractWe present a generic design of abstract machines for non-deterministic programming languages, such as process calculi or concurrent lambda calculi, that provides a simple way to implement them. Such a machine traverses a term in the search for a redex, making non-deterministic choices when several paths are possible and backtracking when it reaches a dead end, i.e., an irreducible subterm. The search is guaranteed to terminate thanks to term annotations the machine introduces along the way. We show how to automatically derive a non-deterministic abstract machine from a zipper semantics - a form of structural operational semantics in which the decomposition process of a term into a context and a redex is made explicit. The derivation method ensures the soundness and completeness of the machines w.r.t. the zipper semantics. Malgorzata Biernacka, Dariusz Biernacki, Sergueï Lenglet, Alan Schmitt |
CONCUR | 1 |
| 2022 | The Zoo of Lambda-Calculus Reduction Strategies, And CoqabstractThis note is about encoding Turing machines into the lambda-calculus. Malgorzata Biernacka, Witold Charatonik, Tomasz Drab |
ITP | 1 |
| 2022 | A simple and efficient implementation of strong call by need by an abstract machineabstractStrong call-by-need combines full normalization with the sharing discipline of lazy evaluation, yet no prior implementation achieved both simplicity and efficiency. We introduce RKNL, an abstract machine that realizes strong call-by-need with bilinear overhead. The machine has been derived automatically from a higher-order evaluator that uses the technique of memothunks to implement laziness. By employing an off-the-shelf transformation tool implementing the ``functional correspondence'' between higher-order interpreters and abstract machines, we obtained a simple and concise description of the machine. We prove that the resulting machine conservatively extends the lazy version of Krivine machine for the weak call-by-need strategy, and that it simulates the normal-order strategy in a bilinear number of steps, i.e., linear in both the number of beta-reductions and the size of the input term. 39 pages, 4 figures Malgorzata Biernacka, Witold Charatonik, Tomasz Drab |
Proc. ACM Program. Lang. | 1 |
| 2021 | A Derived Reasonable Abstract Machine for Strong Call by ValueabstractWe present an efficient implementation of the full-reducing call-by-value strategy for the pure λ-calculus in the form of an abstract machine. The presented machine has been systematically derived using Danvy et al.’s functional correspondence that connects higher-order interpreters with abstract-machine models by a well-established transformation technique. It improves on a previously presented machine by Biernacka et al. in terms of efficiency: the new machine simulates β-reduction with the overhead polynomial in the number of β-steps and in the size of the initial term. Thus, the machine makes a “reasonable” (in the sense of Accattoli et al.) implementation of Strong CbV. Malgorzata Biernacka, Witold Charatonik, Tomasz Drab |
PPDP | 1 |
| 2020 | An Abstract Machine for Strong Call by Value
Malgorzata Biernacka, Dariusz Biernacki, Witold Charatonik, Tomasz Drab |
APLAS | 1 |
| 2017 | Fully abstract encodings of λ-calculus in HOcore through abstract machinesabstractWe present fully abstract encodings of the call-by-name λ-calculus into HOcore, a minimal higher-order process calculus with no name restriction. We consider several equivalences on the λ-calculus side - normal-form bisimilarity, applicative bisimilarity, and contextual equivalence - that we internalize into abstract machines in order to prove full abstraction. Malgorzata Biernacka, Dariusz Biernacki, Sergueï Lenglet, Piotr Polesiuk, Damien Pous, Alan Schmitt |
LICS | 1 |
| 2013 | An operational foundation for the tactic language of CoqabstractWe introduce a semantic toolbox for Ltac, the tactic language of the popular Coq proof assistant. We present three formats of operational semantics, each of which has its use in the practice of tactic programming: a big-step specification in the form of natural semantics, a model of implementation in the form of an abstract machine, and a small-step characterization of computation in the form of reduction semantics. The three semantics are provably equivalent and have been obtained via off-the-shelf derivation techniques of the functional correspondence and the syntactic correspondence. We also give examples of Ltac programs and discuss some of the issues that the formal semantics help to clarify. Wojciech Jedynak, Malgorzata Biernacka, Dariusz Biernacki |
PPDP | 2 |
| 2011 | Typing control operators in the CPS hierarchyabstractThe CPS hierarchy of Danvy and Filinski is a hierarchy of continuations that allows for expressing nested control effects characteristic of, e.g., non-deterministic programming or certain instances of normalization by evaluation. In this article, we present a comprehensive study of a typed version of the CPS hierarchy, where the typing discipline generalizes Danvy and Filinski's type system for control operators shift and reset. To this end, we define a typed family of control operators that give access to delimited continuations in the CPS hierarchy and that are slightly more flexible than Danvy and Filinski's family of control operators shift_i and reset_i, but, as we show, are equally expressive. For this type system, we prove subject reduction, soundness with respect to the CPS translation, and termination of evaluation. We also show that our results scale to a type system for even more flexible control operators expressible in the CPS hierarchy. Malgorzata Biernacka, Dariusz Biernacki, Sergueï Lenglet |
PPDP | 1 |
| 2009 | Context-based proofs of termination for typed delimited-control operatorsabstractWe present direct proofs of termination of evaluation for typed delimited-control operators shift and reset using a variant of Tait's method with context-based reducibility predicates. We address both call by value and call by name, and for each reduction strategy we consider a type-and-effect system a la Danvy and Filinski as well as a system with a fixed answer type. The call-by-value type-and-effect system we present is a refinement of Danvy and Filinski's original type system, whereas the call-by-name type-and-effect system is new. From the normalization proofs, we extract call-by-value and call-by-name evaluators in continuation-passing style with two layers of continuations; by construction, these evaluators are instances of normalization by evaluation. Malgorzata Biernacka, Dariusz Biernacki |
PPDP | 1 |
| 2007 | A syntactic correspondence between context-sensitive calculi and abstract machines
Malgorzata Biernacka, Olivier Danvy |
Theor. Comput. Sci. | 1 |
| 2007 | A concrete framework for environment machinesabstractWe materialize the common understanding that calculi with explicit substitutions provide an intermediate step between an abstract specification of substitution in the lambda-calculus and its concrete implementations. To this end, we go back to Curien's original calculus of closures (an early calculus with explicit substitutions), we extend it minimally so that it can also express one-step reduction strategies, and we methodically derive a series of environment machines from the specification of two one-step reduction strategies for the lambda-calculus: normal order and applicative order. The derivation extends Danvy and Nielsen's refocusing-based construction of abstract machines with two new steps: one for coalescing two successive transitions into one, and the other for unfolding a closure into a term and an environment in the resulting abstract machine. The resulting environment machines include both the Krivine machine and the original version of Krivine's machine, Felleisen et al.'s CEK machine, and Leroy's Zinc abstract machine. Malgorzata Biernacka, Olivier Danvy |
ACM Trans. Comput. Log. | 1 |
| 2005 | An Operational Foundation for Delimited Continuations in the CPS HierarchyabstractWe present an abstract machine and a reduction semantics for the lambda-calculus extended with control operators that give access to delimited continuations in the CPS hierarchy. The abstract machine is derived from an evaluator in continuation-passing style (CPS); the reduction semantics (i.e., a small-step operational semantics with an explicit representation of evaluation contexts) is constructed from the abstract machine; and the control operators are the shift and reset family. We also present new applications of delimited continuations in the CPS hierarchy: finding list prefixes and normalization by evaluation for a hierarchical language of units and products. Malgorzata Biernacka, Dariusz Biernacki, Olivier Danvy |
Log. Methods Comput. Sci. | 1 |