Results 1 - 10
of
13
Combinators for bi-directional tree transformations: A linguistic approach to the view update problem
- In ACM SIGPLAN–SIGACT Symposium on Principles of Programming Languages (POPL
, 2005
"... We propose a novel approach to the view update problem for tree-structured data: a domainspecific programming language in which all expressions denote bi-directional transformations on trees. In one direction, these transformations—dubbed lenses—map a “concrete ” tree into a simplified “abstract vie ..."
Abstract
-
Cited by 94 (13 self)
- Add to MetaCart
We propose a novel approach to the view update problem for tree-structured data: a domainspecific programming language in which all expressions denote bi-directional transformations on trees. In one direction, these transformations—dubbed lenses—map a “concrete ” tree into a simplified “abstract view”; in the other, they map a modified abstract view, together with the original concrete tree, to a correspondingly modified concrete tree. Our design emphasizes both robustness and ease of use, guaranteeing strong well-behavedness and totality properties for welltyped lenses. We identify a natural mathematical space of well-behaved bi-directional transformations over arbitrary structures, study definedness and continuity in this setting, and state a precise connection with the classical theory of “update translation under a constant complement ” from databases. We then instantiate this semantic framework in the form of a collection of lens combinators that can be assembled to describe transformations on trees. These combinators include familiar constructs from functional programming (composition, mapping, projection, conditionals, recursion) together with some novel primitives for manipulating trees (splitting, pruning, copying, merging, etc.). We illustrate the expressiveness of these combinators by developing a number of bi-directional listprocessing transformations as derived forms. An extended example shows how our combinators can be used to define a lens that translates between a native HTML representation of browser bookmarks and a generic abstract bookmark format.
Bidirectional Transformations: A Cross-Discipline Perspective GRACE meeting notes, state of the art, and outlook
"... was held in December 2008 near Tokyo, Japan. The meeting brought together researchers and practitioners from a variety of subdisciplines of computer science to share research efforts and help create a new community. In this report, we survey the state of the art and summarize the technical presentat ..."
Abstract
-
Cited by 12 (4 self)
- Add to MetaCart
was held in December 2008 near Tokyo, Japan. The meeting brought together researchers and practitioners from a variety of subdisciplines of computer science to share research efforts and help create a new community. In this report, we survey the state of the art and summarize the technical presentations delivered at the meeting. We also describe some insights gathered from our discussions and introduce a new effort to establish a benchmark for bidirectional transformations. 1
Quantum reversibility and a new model of quantum automaton
- In FCT ’01: Proceedings of the 13th International Symposium on Fundamentals of Computation Theory
, 2001
"... This article is an attempt to generalize the classical theory of reversible computing, principally developed by Bennet [IBM J. Res. Develop., 17(1973)] and by Fredkin and Toffoli [Internat. J. Theoret. Phys., 21(1982)], to the quantum case. This is a fundamental step towards the construction of a qu ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
This article is an attempt to generalize the classical theory of reversible computing, principally developed by Bennet [IBM J. Res. Develop., 17(1973)] and by Fredkin and Toffoli [Internat. J. Theoret. Phys., 21(1982)], to the quantum case. This is a fundamental step towards the construction of a quantum computer because a time efficient quantum computation is a reversible physical process. The paper is organized as follows. The first section reviews the classical theory of reversible computing. In the second section it is showed that the designs used in the classical framework to decrease the consumption of space cannot be generalized to the quantum case; it is also suggested that quantum computing is generally more demanding of space than classical computing. In the last section a new model of fully quantum and reversible automaton is proposed. The computational power of this automaton is at least equal to that of classical automata. Some conclusion are drawn in the last section. 1 Reversible computing: a glance
Asymptotically Zero Power in Reversible Sequential Machines
- In 1985 Chapel Hill Conference on V.L.S.L
, 1995
"... Conventional methods of energy supply and operation of even CMOS circuits - a technology providing great savings in static energy loss- are proving to be stumbling blocks to realizing ultra-dense, petaflop machines, as both energy supply and its dissipation pose very difficult problems. Recently sev ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Conventional methods of energy supply and operation of even CMOS circuits - a technology providing great savings in static energy loss- are proving to be stumbling blocks to realizing ultra-dense, petaflop machines, as both energy supply and its dissipation pose very difficult problems. Recently several research results have been reported on practical methods and architectures for adiabatic operation of CMOS circuits in order to both reduce and reclaim electrical energy in circuits. Unfortunately, these methods ignore or fail to recover energies supplied to internal capacitances. Moreover, the penalty of function reversibility" required in these techniques is huge in terms of area. We address both these issues with considerable promise of success. Furthermore, we demonstrate that under mild requirements, storage of values is possible without any lower limit on energy dissipation - unlike the limit of 1/2 C. Vt achieved using a latch suggested in literature. Here, we essentially rely on the ability to %nwrite" information stored in the computational pipeline, rather than erase it.
Quantum computability and complexity and the limits of quantum computation. http://www.cs.berkeley.edu/ kamil/quantum/qc4.pdf
, 2003
"... This paper will present an overview of the current beliefs of quantum complexity theorists and discuss in detail the impacts these beliefs may have on the future of the field. In section one we give a brief fundamental overview of classical complexity theory, defining the time and space hierarchies ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
This paper will present an overview of the current beliefs of quantum complexity theorists and discuss in detail the impacts these beliefs may have on the future of the field. In section one we give a brief fundamental overview of classical complexity theory, defining the time and space hierarchies and providing examples of problems that fit into several important categories thereon. In section two we introduce quantum complexity and discuss its relationship to classical complexity. Section three presents an overview of the successful existing quantum algorithms, and section four presents a discussion on the actual practical gains that might be realized by quantum computation. Finally in section five we speculate briefly on the direction we believe the field to be headed, and what might reasonably be expected in the future. 1 Introduction to Computability and Complexity In computability and complexity theory, all problems are reduced to language recognition, where a language is defined as a set of strings over some alphabet, typically {0, 1}. For example, L1 = {0, 00, 000, · · · } is the language that contains all strings that contain only the letter 0. Once we have a language L, there are some interesting questions we can ask about it. Given an input x, can a machine decide if x ∈ L? If so, how
Bidirectional Programming Languages
, 2009
"... The need to edit data through a view arises in a host of applications across many different areas of computing. Unfortunately, few existing systems provide support for updatable views. In practice, when they are needed, updatable views are usually implemented using two separate programs: one to comp ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
The need to edit data through a view arises in a host of applications across many different areas of computing. Unfortunately, few existing systems provide support for updatable views. In practice, when they are needed, updatable views are usually implemented using two separate programs: one to compute the view from the source and another to handle updates. This rudimentary design is tedious for programmers, dif�cult to reason about, and a nightmare to maintain. This dissertation describes bidirectional programming languages, which provide an elegant mechanism for describing updatable views. Unlike programs written in an ordinary language, which only work in one direction, programs written in a bidirectional language can be run both forwards and backwards: from left to right, they describe functions that map sources to views, and from right to left, they describe functions that map updated views back to updated sources. Besides eliminating redundancy, these languages can be designed to ensure correctness, guaranteeing by construction that the two functions work well together.
A Framework for Conservative and Delay-insensitive Computing
, 1996
"... this paper we present a model of asynchronous conservative logic. Our model is based on delay insensitive (DI) circuits, which use local handshaking instead of a global clock for synchronization. DI circuits are not based on boolean logic gates, which are as unsuited for DI computation as they are f ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
this paper we present a model of asynchronous conservative logic. Our model is based on delay insensitive (DI) circuits, which use local handshaking instead of a global clock for synchronization. DI circuits are not based on boolean logic gates, which are as unsuited for DI computation as they are for non-dissipative computation. Our circuits are based on an entirely distinct set of primitive elements, which are more readily modified to support conservative computing than are boolean circuit elements. An interesting feature of our conservative delay insensitive (CDI) logic is that it does not require explicit uncomputation or unwriting of results as do existing synchronous approaches to asymptotically zero-power computation.
Realization of a Novel Fault Tolerant Reversible Full Adder Circuit in Nanotechnology
, 2008
"... Abstract: In parity preserving reversible circuit, the parity of the input vector must match the parity of the output vector. It renders a wide class of circuit faults readily detectable at the circuit’s outputs. Thus reversible logic circuits that are parity preserving will be beneficial to the dev ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract: In parity preserving reversible circuit, the parity of the input vector must match the parity of the output vector. It renders a wide class of circuit faults readily detectable at the circuit’s outputs. Thus reversible logic circuits that are parity preserving will be beneficial to the development of fault tolerant systems in nanotechnology. This paper presents an efficient realization of well known Toffoli gate using only two parity preserving reversible gates. The minimum number of garbage outputs and constant inputs required to synthesize a fault tolerant reversible full adder circuit has also been given. Finally, this paper presents a novel fault tolerant reversible full adder circuit and demonstrates its superiority with the existing counterparts.

