Robert Glück

dblp:g/RobertGluck · DBLP profile ↗
← Back
49ranked-venue papers
19as first author
9since 2021 · last 2026
0000-0001-6990-3935ORCID · verified

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

Theory of computation · 28 · 10 first-author · 7 since 2021Software engineering, systems software and programming languages · 21 · 8 first-author · 2 since 2021Applied, interdisciplinary, general and emerging computing · 8 · 1 first-author · 5 since 2021Systems, architecture and hardware · 3 · 1 first-authorDatabases, data management, data science and information retrieval · 3 · 3 first-author
YearPublicationVenuePosition
2026 PEARL: A Partial Evaluation Toolbox for a Reversible Language
Louis Marott Normann, Robert Glück
RC2
2024 Partial Evaluation of Reversible Flowchart Programs
abstract
Flowchart languages are traditionally used to study the foundations of partial evaluation. This article presents a systematic and formal development of a method for partial evaluation of a reversible flowchart language. The results confirm that partial evaluation in this unconventional computing paradigm shows effects consistent with traditional partial evaluation. Experiments include specializing a symmetric encryption algorithm and a reversible interpreter for Bennett's reversible Turing machines. A defining feature of reversible languages is their invertibility. This study reports the first experiments composing program inversion and partial evaluation. The presented method is fully implemented. It is potentially of interest because reversible computing has found applications in areas as diverse as low-power computing, debugging, robotics, and quantum-inspired computing.
Louis Marott Normann, Robert Glück
PEPM2
2024 Towards Clean Reversible Lossless Compression - A Reversible Programming Experiment with Zip
Therese Lyngby, Rasmus Ross Nylandsted, Robert Glück, Tetsuo Yokoyama
RC3
2024 Experiment Using Partial Evaluation for Transformational Debugging
abstract
To identify the source of runtime errors, techniques such as “debug-by-execution” are widely used, e.g., steppers. Although this technique can be useful for non-runtime errors, it has been less extensively explored because of the inherent difficulties in stepping through programs with such errors. In this new ideas and emerging results paper, we focus on debugging type errors in statically typed languages. We explore “transformational debugging,” a method that transforms erroneous code to provide users with an alternative perspective on the source code, thereby facilitating the debugging process. The proposed approach comprises three phases: In the first phase, we use the error messages from the compiler's type inferencer to “freeze” parts of the program. In the second phase, the type inferencer is used to reduce the number of “frozen” parts. In the third phase, a partial evaluator evaluates the partially “frozen” program. During partial evaluation, the frozen parts are treated as dynamic and therefore remain as code without being evaluated, whereas the other parts are treated as static and are evaluated. This study proposes the generic algorithms for our debugging method and two heuristic strategies for the algorithms. We obtain promising results using a prototype for a subset of OCaml. We explore a novel avenue for debugging: Transformational debugging and partial evaluation as helpful debugging tools.
Kanae Tsushima, Robert Glück
SCAM2
2023 Towards a Taxonomy for Reversible Computation Approaches
Robert Glück, Ivan Lanese, Claudio Antares Mezzina, Jaroslaw Adam Miszczak, Iain Phillips 0001, Irek Ulidowski, Germán Vidal
RC1
2023 Towards a Dereversibilizer: Fewer Asserts, Statically
Jonas Wolpers Reholt, Robert Glück, Matthis Kruse
RC2
2023 Reversible computing from a programming language perspective
abstract
Software plays a central role in all aspects of reversible computing systems, and a variety of reversible programming languages have been developed. This presentation highlights the principles and main ideas of reversible computing viewed from a programming language perspective with a focus on clean reversible languages. They are the building material for software that can reap the benefits of reversible hardware and interesting in their own right. Reversible computing is situated within programming languages in general, and the relevant concepts are elaborated, including computability, injectivization and reversibilization. Features representative for many reversible languages are presented, such as reversible updates, reversible iterations, and access to a program's inverse semantics. Metaprogramming methods of particular importance to reversible programming, are introduced, including program inversion and inverse interpretation. Our presentation is independent of a particular language, although primarily the reversible language, Janus, will be used in examples.
Robert Glück, Tetsuo Yokoyama
Theor. Comput. Sci.1
2022 From reversible programming languages to reversible metalanguages
Robert Glück, Robin Kaarsgaard, Tetsuo Yokoyama
Theor. Comput. Sci.1
2021 Towards a Unified Language Architecture for Reversible Object-Oriented Programming
Lasse Hay-Schmidt, Robert Glück, Martin Holm Cservenka, Tue Haulund
RC2
2020 Inversion Framework: Reasoning about Inversion by Conditional Term Rewriting Systems
abstract
We introduce a language-independent framework for reasoning about program inverters by conditional term rewriting systems. These systems can model the three fundamental forms of inversion, i.e., full, partial and semi-inversion, in declarative languages.
Maja H. Kirkeby, Robert Glück
PPDP2
2019 Semi-inversion of Conditional Constructor Term Rewriting Systems
Maja H. Kirkeby, Robert Glück
LOPSTR2
2019 Constructing a binary tree from its traversals by reversible recursion and iteration
Robert Glück, Tetsuo Yokoyama
Inf. Process. Lett.1
2018 Data Structures and Dynamic Memory Management in Reversible Languages
Martin Holm Cservenka, Robert Glück, Tue Haulund, Torben Æ. Mogensen
RC2
2018 A categorical foundation for structured reversible flowchart languages: Soundness and adequacy
abstract
Structured reversible flowchart languages is a class of imperative reversible programming languages allowing for a simple diagrammatic representation of control flow built from a limited set of control flow structures. This class includes the reversible programming language Janus (without recursion), as well as more recently developed reversible programming languages such as R-CORE and R-WHILE. In the present paper, we develop a categorical foundation for this class of languages based on inverse categories with joins. We generalize the notion of extensivity of restriction categories to one that may be accommodated by inverse categories, and use the resulting decisions to give a reversible representation of predicates and assertions. This leads to a categorical semantics for structured reversible flowcharts, which we show to be computationally sound and adequate, as well as equationally fully abstract with respect to the operational semantics under certain conditions.
Robert Glück, Robin Kaarsgaard
Log. Methods Comput. Sci.1
2017 Implementing Reversible Object-Oriented Language Features on Reversible Machines
Tue Haulund, Torben Æ. Mogensen, Robert Glück
RC3
2016 A Practical Simulation Result for Two-Way Pushdown Automata
Robert Glück
CIAA1
2016 A Classical Propositional Logic for Reasoning About Reversible Logic Circuits
Holger Bock Axelsen, Robert Glück, Robin Kaarsgaard
WoLLIC2
2016 On reversible Turing machines and their function universality
Holger Bock Axelsen, Robert Glück
Acta Informatica2
2016 Fundamentals of reversible flowchart languages
Tetsuo Yokoyama, Holger Bock Axelsen, Robert Glück
Theor. Comput. Sci.3
2014 Designing Garbage-Free Reversible Implementations of the Integer Cosine Transform
abstract
Discrete linear transformations are important tools in information processing. Many such transforms are injective and therefore prime candidates for a physically reversible implementation into hardware. We present here reversible integer cosine transformations on n input integers. The resulting reversible circuit is able to perform both the forward transform and the inverse transform. The detailed structure of such a reversible design strongly depends on the odd prime factors of the determinant of the transform: whether those are of the form 2 k ± 1 or of the form 2 k ± 2 l ± 1 or neither of these forms.
Alexis De Vos, Stéphane Burignat, Robert Glück, Torben Æ. Mogensen, Holger Bock Axelsen, Michael Kirkedal Thomsen, Eva Rotenberg, Tetsuo Yokoyama
ACM J. Emerg. Technol. Comput. Syst.3
2013 Reversible Representation and Manipulation of Constructor Terms in the Heap
Holger Bock Axelsen, Robert Glück
RC2
2012 A self-applicable online partial evaluator for recursive flowchart languages
abstract
SUMMARY This paper describes a self‐applicable online partial evaluator for a flowchart language with recursive calls. Self‐application of the partial evaluator yields generating extensions that are as efficient as those reported in the literature for offline partial evaluation. This result is remarkable because it has been assumed that online partial evaluation techniques unavoidably lead to inefficient and overgeneralized generating extensions. The purpose of this paper is not to determine which kind of partial evaluation is better, but to show how the problem can be solved by recursive polyvariant specialization. The design of the self‐applicable online partial evaluator is based on a number of known techniques, but by combining them in a new way this result can be produced. The partial evaluator, its techniques, and its implementation are presented in full. Self‐application according to all three Futamura projections is demonstrated. The complete bootstrap of a compiler generator from a partial evaluator is also reported. Copyright © 2011 John Wiley & Sons, Ltd.
Robert Glück
Softw. Pract. Exp.1
2011 What Do Reversible Programs Compute?
Holger Bock Axelsen, Robert Glück
FoSSaCS2
2011 A Simple and Efficient Universal Reversible Turing Machine
Holger Bock Axelsen, Robert Glück
LATA2
2011 Special Issue on Generative Programming and Component Engineering (Selected Papers from GPCE 2004/2005)
Robert Glück, Eelco Visser
Sci. Comput. Program.1
2010 Self-generating program specializers
Robert Glück
Inf. Process. Lett.1
2009 Is there a fourth Futamura projection?
abstract
The three classic Futamura projections stand as a cornerstone in the development of partial evaluation. The observation by Futamura [1983], that compiler generators produced by his third projection are self-generating, and the insight by Klimov and Romanenko [1987], that Futamura's abstraction scheme can be continued beyond the three projections, are systematically investigated, and several new applications for compiler generators are proposed. Possible applications include the generation of quasi-online compiler generators and of compiler generators for domain-specific languages, and the bootstrapping of compiler generators from program specializers. From a theoretical viewpoint, there is equality between the class of self-generating compiler generators and the class of compiler generators produced by the third Futamura projection. This exposition may lead to new practical applications of compiler generators, as well as deepen our theoretical understanding of program specialization.
Robert Glück
PEPM1
2008 Reversible Flowchart Languages and the Structured Reversible Program Theorem
Tetsuo Yokoyama, Holger Bock Axelsen, Robert Glück
ICALP (2)3
2008 Optimized reversible binary-coded decimal adders
Michael Kirkedal Thomsen, Robert Glück
J. Syst. Archit.2
2007 A reversible programming language and its invertible self-interpreter
abstract
A reversible programming language supports deterministic forward and backward computation. We formalize the programming language Janus and prove its reversibility. We provide a program inverter for the language and implement a self-interpreter that achieves deterministic forward and backward interpretation of Janus programs without using a computation history. As the self-interpreter is implemented in a reversible language, it is invertible using local program inversion. Many physical phenomena are reversible and we demonstrate the power of Janus by implementing a reversible program for discrete simulation of the Schrödinger wave equation that can be inverted as well as run forward and backward.
Tetsuo Yokoyama, Robert Glück
PEPM2
2006 On Jones-Optimal Specializers: A Case Study Using Unmix
Johan Gade, Robert Glück
APLAS2
2005 The Program Inverter LRinv and Its Structure
Masahiko Kawabe, Robert Glück
PADL2
2005 A Method for Automatic Program Inversion Based on LR(0) Parsing
Robert Glück, Masahiko Kawabe
Fundam. Informaticae1
2004 Offline partial evaluation can be as accurate as online partial evaluation
abstract
We show that the accuracy of online partial evaluation, or polyvariant specialization based on constant propagation, can be simulated by offline partial evaluation using a maximally polyvariant binding-time analysis. We point out that, while their accuracy is the same, online partial evaluation offers better opportunities for powerful generalization strategies. Our results are presented using a flowchart language with recursive procedures.
Niels H. Christensen, Robert Glück
ACM Trans. Program. Lang. Syst.2
2003 A Program Inverter for a Functional Language with Equality and Constructors
Robert Glück, Masahiko Kawabe
APLAS1
2003 Transforming interpreters into inverse interpreters by partial evaluation
abstract
The experiments in this paper apply the idea of prototyping programming language tools from robust semantics: we used a partial evaluator (Similix) to turn interpreters into inverse interpreters. This way we generated inverse interpreters for several small languages including interpreters for Turing machines, an applied lambda calculus, a flowchart language, and a subset of Java bytecode. Limiting factors of online partial evaluation were the polyvariant specialization scheme with its lack of generalization;advantages were the availability of higher-order values to specialize a breadth-first tree traversal.This application of self-applicable partial evaluation is different from the classical Futamura projections that tell us how to translate a program by specialization of an interpreter.
Robert Glück, Youhei Kawada, Takuya Hashimoto
PEPM1
2002 The universal resolving algorithm and its correctness: inverse computation in a functional language
abstract
We present an algorithm for inverse computation in a first-order functional language based on the notion of a perfect process tree. The Universal Resolving Algorithm introduced in this paper is sound and complete, and computes each solution for which the given program terminates, in finite time. The algorithm has been implemented for TSG, a typed dialect of S-Graph, and shows some remarkable results for the inverse computation of functional programs such as a pattern matcher and an interpreter for imperative programs.
Sergei M. Abramov, Robert Glück
Sci. Comput. Program.2
2001 Relating Accumulative and Non-accumulative Functional Programs
Armin Kühnemann, Robert Glück, Kazuhiko Kakehi 0001
RTA2
2000 Combining Semantics with Non-standard Interpreter Hierarchies
Sergei M. Abramov, Robert Glück
FSTTCS2
2000 The Universal Resolving Algorithm: Inverse Computation in a Functional Language
Sergei M. Abramov, Robert Glück
MPC2
1997 A Regeneration Scheme for Generating Extensions
Robert Glück, Andrei V. Klimov
Inf. Process. Lett.1
1996 A Positive Supercompiler
abstract
Abstract We introduce a positive supercompiler , a version of Turchin's supercompiler maintaining only positive information during transformation, and using folding without generalization. The positive supercompiler can also be regarded as a variant of Wadler's deforestation maintaining an increased amount of information. We compare our algorithm to deforestation and, in less detail, to partial evaluation, Turchin's supercompiler, Generalized Partial Computation (GPC), and partial deduction by classifying these transformers by the amount of information they maintain during transformation. This factor is significant, as a differentiating example reveals: positive supercompilation, Turchin's supercompiler, GPC and partial deduction can specialize a general pattern matcher with respect to a fixed pattern to obtain an efficient matcher very similar to the Knuth–Morris–Pratt algorithm. Deforestation and traditional partial evaluation achieve this effect only after a non-trivial hand rewriting of the general matcher.
Morten Heine Sørensen, Robert Glück, Neil D. Jones
J. Funct. Program.2
1994 Towards Unifying Partial Evaluation, Deforestation, Supercompilation, and GPC
Morten Heine Sørensen, Robert Glück, Neil D. Jones
ESOP2
1994 Partial Evaluation of Numerical Programs in Fortran
Romana Baier, Robert Glück, Robert Zöchling
PEPM2
1994 Generating Transformers for Deforestation and Supercompilation
Robert Glück, Jesper Jørgensen
SAS1
1994 On the Generation of Specializers
abstract
Abstract Self-applicable specializers have been used successfully to automate the generation of compilers. Specializers are often rather sophisticated, for which reason one would like to adapt and transform them with the aid of the computer. But how to automate this process? The answer to this question is given by three specializer projections . While the Futamura projections define the generation of compilers from interpreters, the specializer projections define the generation of specializers from interpreters. We discuss the potential applications of the specializer projections, and argue that their realization is a real touchstone for the effectiveness of the specialization principle. In particular, we discuss generic specializers, bootstrapping of subject languages and the generation of optimizing specializers from interpretive specifications. The Futamura projections are regarded as a special case of the specializer projections. Recent results confirm that the specializer projections can be performed in practice using partial evaluators.
Robert Glück
J. Funct. Program.1
1991 Towards Multiple Self-Application
abstract
Article Free Access Share on Towards multiple self-application Author: Robert Glück Technische Universität Wien, Institut für Computersprachen, A-1040 Vienna, Austria Technische Universität Wien, Institut für Computersprachen, A-1040 Vienna, AustriaView Profile Authors Info & Claims PEPM '91: Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulationMay 1991 Pages 309–320https://doi.org/10.1145/115865.115900Published:01 May 1991Publication History 16citation274DownloadsMetricsTotal Citations16Total Downloads274Last 12 Months24Last 6 weeks1 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 SiteeReaderPDF
Robert Glück
PEPM1
1990 Application of Metasystem Transition to Function Inversion and Transformation
abstract
We proved by construction an application considered theoretically by Turchin [7] that self-application of metacomputation will allow the automatic construction of inverse algorithms, in particular the algorithm of binary subtraction from the algorithm of binary addition. Further, we will present results concerning the algorithmic construction of an efficient pattern matcher, which leads to the Knuth, Morris and Pratt algorithm. These results were achieved with the first working model of a self-applicable supercompiler system, implementing the concept of metacomputation.
Robert Glück, Valentin F. Turchin
ISSAC1
1987 OC-FP, An applicative language combination with occam and the algebra of processes
Robert Glück, Christian Demuth
Microprocess. Microprogramming1