scispace - formally typeset
Search or ask a question
Author

Mayer Goldberg

Bio: Mayer Goldberg is an academic researcher from Ben-Gurion University of the Negev. The author has contributed to research in topics: Iterator & Church encoding. The author has an hindex of 6, co-authored 21 publications receiving 114 citations.

Papers
More filters
Journal Article
TL;DR: There And Back Again (TABA) as discussed by the authors is a programming pattern where a recursive function defined over a data structure traverses another data structure at return time, where the recursive calls get us "there" by traversing the first data structure and the returns get us 'back again' while traversing a second data structure.
Abstract: We present a programming pattern where a recursive function defined over a data structure traverses another data structure at return time. The idea is that the recursive calls get us 'there' by traversing the first data structure and the returns get us 'back again' while traversing the second data structure. We name this programming pattern of traversing a data structure at call time and another data structure at return time "There And Back Again" (TABA). The TABA pattern directly applies to computing symbolic convolutions and to multiplying polynomials. It also blends well with other programming patterns such as dynamic programming and traversing a list at double speed. We illustrate TABA and dynamic programming with Catalan numbers. We illustrate TABA and traversing a list at double speed with palindromes and we obtain a novel solution to this traditional exercise. Finally, through a variety of tree traversals, we show how to apply TABA to other data structures than lists. A TABA-based function written in direct style makes full use of an ALGOL-like control stack and needs no heap allocation. Conversely, in a TABA-based function written in continuation-passing style and recursively defined over a data structure (traversed at call time), the continuation acts as an iterator over a second data structure (traversed at return time). In general, the TABA pattern saves one from accumulating intermediate data structures at call time.

22 citations

Book ChapterDOI
TL;DR: It is observed that an interpreter for a source language can be turned into a compiler from the source language to a target language, and it is proved that the target-to-source compiler is a left inverse of the source- to-target compiler, i.e., that it is a decompiler.
Abstract: Just as an interpreter for a source language can be turned into a compiler from the source language to a target language, we observe that an interpreter for a target language can be turned into a compiler from the target language to a source language. In both cases, the key issue is the choice of whether to perform an evaluation or to emit code that represents this evaluation.We substantiate this observation with two source interpreters and two target interpreters. We first consider a source language of arithmetic expressions and a target language for a stack machine, and then the λ-calculus and the SECD-machine language. In each case, we prove that the target-to-source compiler is a left inverse of the source-to-target compiler, i.e., that it is a decompiler.In the context of partial evaluation, the binding-time shift of going from a source interpreter to a compiler is classically referred to as a Futamura projection. By symmetry, it seems logical to refer to the binding-time shift of going from a target interpreter to a compiler as a Futamura embedding.

18 citations

Journal ArticleDOI
TL;DR: It is shown that the set of fixed-point combinators forms a recursively-enumerable subset of a larger set of terms that is not Recursively enumerable, and the terms of which are observationally equivalent to fixed- point combinators in any computable context.
Abstract: We show that the set of fixed-point combinators forms a recursively-enumerable subset of a larger set of terms that is (A) not recursively enumerable, and (B) the terms of which are observationally equivalent to fixed-point combinators in any computable context.

17 citations

Journal ArticleDOI
TL;DR: This paper presents a schema for constructing one-point bases for recursively enumerable sets of lambda terms, which implies that a single procedure can define any given recursive set of procedures, constants and free variables in a given programming language.
Abstract: In this paper, we present a schema for constructing one-point bases for recursively enumerable sets of lambda terms. The novelty of the approach is that we make no assumptions about the terms for which the one-point basis is constructed: They need not be combinators and they may contain constants and free variables. The significance of the construction is twofold: In the context of the lambda calculus, it characterises one-point bases as ways of ``packaging'' sets of terms into a single term; And in the context of realistic programming languages, it implies that we can define a single procedure that generates any given recursively enumerable set of procedures, constants and free variables in a given programming language.

9 citations

Journal ArticleDOI
01 Dec 2005
TL;DR: The resulting Scheme procedure is a variadic extension of the n-ary version of Curry's fixed-point combinator, which can be used to create mutually-recursive procedures, and expand letrec-expressions.
Abstract: We present a systematic construction of a variadic, applicative-order, multiple fixed-point combinator in Scheme. The resulting Scheme procedure is a variadic extension of the n-ary version of Curry's fixed-point combinator. It can be used to create mutually-recursive procedures, and expand letrec-expressions.

8 citations


Cited by
More filters
Journal Article
TL;DR: A general framework that allows one to construct secure encryption schemes in a generic fashion from language membership problems that satisfy certain technical requirements is introduced, as does the Cramer-Shoup scheme based on the Decision Diffie-Hellman assumption.
Abstract: We present several new and fairly practical public-key encryption schemes and prove them secure against adaptive chosen ciphertext attack. One scheme is based on Paillier's Decision Composite Residuosity assumption, while another is based in the classical Quadratic Residuosity assumption. The analysis is in the standard cryptographic model, i.e., the security of our schemes does not rely on the Random Oracle model. Moreover, we introduce a general framework that allows one to construct secure encryption schemes in a generic fashion from language membership problems that satisfy certain technical requirements. Our new schemes fit into this framework, as does the Cramer-Shoup scheme based on the Decision Diffie-Hellman assumption.

636 citations

Journal ArticleDOI
M.N. Sastry1
01 Aug 1986

568 citations

Journal ArticleDOI
29 Jun 1997
TL;DR: The main result is that a notion of bisimulation for Markov processes on Polish spaces, which extends the Larsen-Skou definition for discrete systems, is indeed an equivalence relation.
Abstract: In this paper we introduce a new class of labelled transition systems-Labelled Markov Processes-and define bisimulation for them. Labelled Markov processes are probabilistic labelled transition systems where the state space is not necessarily discrete, it could be the reals, for example. We assume that it is a Polish space (the underlying topological space for a complete separable metric space). The mathematical theory of such systems is completely new from the point of view of the extant literature on probabilistic process algebra; of course, it uses classical ideas from measure theory and Markov process theory. The notion of bisimulation builds on the ideas of Larsen and Skou and of Joyal, Nielsen and Winskel. The main result that we prove is that a notion of bisimulation for Markov processes on Polish spaces, which extends the Larsen-Skou definition for discrete systems, is indeed an equivalence relation. This turns our to be a rather hard mathematical result which, as far as we know, embodies a new result in pure probability theory. This work heavily uses continuous mathematics which is becoming an important part of work on hybrid systems.

335 citations

Journal ArticleDOI
TL;DR: The paper explains the crucial differences between SOS and MSOS, and illustrates how MSOS descriptions are written, and discusses standard notions of semantic equivalence based on MSOS.

226 citations

BookDOI
01 Jan 1996
TL;DR: This volume comprises extended abstracts of the papers selected for the presentation at the Third International Andrei Ershov Memorial Conference Perspectives of System Informatics, Akademgorodok (Novosibirsk, Russia), July 6-9, 1999.
Abstract: : The volume comprises extended abstracts of the papers selected for the presentation at the Third International Andrei Ershov Memorial Conference Perspectives of System Informatics, Akademgorodok (Novosibirsk, Russia), July 6-9, 1999. The main goal of the conference is to give an overview of research directions which are decisive for the growth of major areas of research activities in system informatics.

181 citations