Journal of the ACM (JACM)
Type algebras, functor categories and block structure
Algebraic methods in semantics
Views: a way for pattern matching to cohabit with data abstraction
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Properties and update semantics of consistent views
ACM Transactions on Database Systems (TODS)
Foundations of canonical update support for closed database views
ICDT '90 Proceedings of the third international conference on database theory on Database theory
Updating relational databases through object-based views
SIGMOD '91 Proceedings of the 1991 ACM SIGMOD international conference on Management of data
A general framework for bidirectional translation between abstract and pictorial data
ACM Transactions on Information Systems (TOIS) - Special issue on user interface software and technology
The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
A polymorphic calculus for views and object sharing (extended abstract)
PODS '94 Proceedings of the thirteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
MDM: a multiple-data model tool for the management of heterogeneous database schemes
SIGMOD '97 Proceedings of the 1997 ACM SIGMOD international conference on Management of data
Update semantics of relational views
ACM Transactions on Database Systems (TODS)
On the correct translation of update operations on relational views
ACM Transactions on Database Systems (TODS)
PODS '85 Proceedings of the fourth ACM SIGACT-SIGMOD symposium on Principles of database systems
The Clio project: managing heterogeneity
ACM SIGMOD Record
SIGMOD '01 Proceedings of the 2001 ACM SIGMOD international conference on Management of data
On propagation of deletions and annotations through views
Proceedings of the twenty-first ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
View updates in a semantic data modelling paradigm
ADC '01 Proceedings of the 12th Australasian database conference
Data abstraction, views and updates in RIGEL
SIGMOD '79 Proceedings of the 1979 ACM SIGMOD international conference on Management of data
Management of Multiple Models in an Extensible Database Design Tool
EDBT '96 Proceedings of the 5th International Conference on Extending Database Technology: Advances in Database Technology
Correspondence and Translation for Heterogeneous Data
ICDT '97 Proceedings of the 6th International Conference on Database Theory
NREVERSAL of Fortune - The Thermodynamics of Garbage Collection
IWMM '92 Proceedings of the International Workshop on Memory Management
A Relational Database View Update Translation Mechanism
VLDB '84 Proceedings of the 10th International Conference on Very Large Data Bases
Incremental Maintenance for Materialized Views over Semistructured Data
VLDB '98 Proceedings of the 24rd International Conference on Very Large Data Bases
Choosing a View Update Translator by Dialog at View Definition Time
VLDB '86 Proceedings of the 12th International Conference on Very Large Data Bases
Feature Automata and Recognizable Sets of Feature Trees
TAPSOFT '93 Proceedings of the International Joint Conference CAAP/FASE on Theory and Practice of Software Development
Program Construction, International Summer Schoo
The Universal Resolving Algorithm: Inverse Computation in a Functional Language
MPC '00 Proceedings of the 5th International Conference on Mathematics of Program Construction
A logical view of structured files
The VLDB Journal — The International Journal on Very Large Data Bases
The impact of the constant complement approach towards view updating
Proceedings of the twenty-second ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Principles of inverse computation and the Universal resolving algorithm
The essence of computation
An Introduction to Database Systems
An Introduction to Database Systems
TRANSLATING UPDATES OF RELATIONAL DATA BASE VIEWS
TRANSLATING UPDATES OF RELATIONAL DATA BASE VIEWS
An Order-Based Theory of Updates for Closed Database Views
Annals of Mathematics and Artificial Intelligence
A programmable editor for developing structured documents based on bidirectional transformations
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Relational lenses: a language for updatable views
Proceedings of the twenty-fifth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Exploiting schemas in data synchronization
Journal of Computer and System Sciences
Irreversibility and heat generation in the computing process
IBM Journal of Research and Development
A reversible programming language and its invertible self-interpreter
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Fibrations and universal view updatability
Theoretical Computer Science
Boomerang: resourceful lenses for string data
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Principles of a reversible programming language
Proceedings of the 5th conference on Computing frontiers
Report on the Principles of Provenance Workshop
ACM SIGMOD Record
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Compiling mappings to bridge applications and databases
ACM Transactions on Database Systems (TODS)
Model Synchronisation: Definitions for Round-Trip Engineering
ICMT '08 Proceedings of the 1st international conference on Theory and Practice of Model Transformations
Towards an Algebraic Theory of Bidirectional Transformations
ICGT '08 Proceedings of the 4th international conference on Graph Transformations
Transforming Data by Calculation
Generative and Transformational Techniques in Software Engineering II
A Landscape of Bidirectional Model Transformations
Generative and Transformational Techniques in Software Engineering II
Bidirectionalization for free! (Pearl)
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From spreadsheets to relational databases and back
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Semantic Bijectivity and the Uniqueness of Constant-Complement Updates in the Relational Context
Semantics in Data and Knowledge Bases
XRound: A reversible template language and its application in model-based security analysis
Information and Software Technology
Foundations for Bidirectional Programming
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
Towards Model Round-Trip Engineering: An Abductive Approach
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
Bidirectional Transformations: A Cross-Discipline Perspective
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Flapjax: a programming language for Ajax applications
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
SM@RT: towards architecture-based runtime management of Internetware systems
Proceedings of the First Asia-Pacific Symposium on Internetware
Full-fidelity flexible object-oriented XML access
Proceedings of the VLDB Endowment
Incremental model synchronization in model driven development environments
CASCON '09 Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research
Reversible Computation and Reversible Programming Languages
Electronic Notes in Theoretical Computer Science (ENTCS)
The view update problem for XML
Proceedings of the 2010 EDBT/ICDT Workshops
Combining syntactic and semantic bidirectionalization
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Matching lenses: alignment and view update
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
A language for software variation research
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
From state- to delta-based bidirectional model transformations
ICMT'10 Proceedings of the Third international conference on Theory and practice of model transformations
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Gradual refinement: blending pattern matching with data abstraction
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Calculating with lenses: optimising bidirectional transformations
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
View update translation for XML
Proceedings of the 14th International Conference on Database Theory
Model refinement using bisimulation quotients
AMAST'10 Proceedings of the 13th international conference on Algebraic methodology and software technology
Model synchronization: mappings, tiles, and categories
GTTSE'09 Proceedings of the 3rd international summer school conference on Generative and transformational techniques in software engineering III
JTL: a bidirectional and change propagating transformation language
SLE'10 Proceedings of the Third international conference on Software language engineering
What do reversible programs compute?
FOSSACS'11/ETAPS'11 Proceedings of the 14th international conference on Foundations of software science and computational structures: part of the joint European conferences on theory and practice of software
A simple and efficient universal reversible turing machine
LATA'11 Proceedings of the 5th international conference on Language and automata theory and applications
Forest: a language and toolkit for programming with filestores
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Incremental updates for efficient bidirectional transformations
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Instant and incremental QVT transformation for runtime models
Proceedings of the 14th international conference on Model driven engineering languages and systems
From state- to delta-based bidirectional model transformations: the symmetric case
Proceedings of the 14th international conference on Model driven engineering languages and systems
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Ideas for connecting inductive program synthesis and bidirectionalization
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Software and Systems Modeling (SoSyM)
Lenses, fibrations and universal translations
Mathematical Structures in Computer Science
A grammar-based approach to invertible programs
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
A framework for the checking and refactoring of crosscutting concepts
ACM Transactions on Software Engineering and Methodology (TOSEM)
Linguistic foundations for bidirectional transformations: invited tutorial
PODS '12 Proceedings of the 31st symposium on Principles of Database Systems
FD covers and universal complements of simple projections
FoIKS'12 Proceedings of the 7th international conference on Foundations of Information and Knowledge Systems
Concurrent model synchronization with conflict resolution based on triple graph grammars
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
An algorithm for layout preservation in refactoring transformations
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
ECMFA'12 Proceedings of the 8th European conference on Modelling Foundations and Applications
The HERMIT in the machine: a plugin for the interactive transformation of GHC core language programs
Proceedings of the 2012 Haskell Symposium
ICMT'12 Proceedings of the 5th international conference on Theory and Practice of Model Transformations
Multifocal: a strategic bidirectional transformation language for XML schemas
ICMT'12 Proceedings of the 5th international conference on Theory and Practice of Model Transformations
Three complementary approaches to bidirectional programming
SSGIP'10 Proceedings of the 2010 international spring school conference on Generic and Indexed Programming
Bidirectional model transformations in QVT: semantic issues and open questions
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
Relations as executable specifications: taming partiality and non-determinism using invariants
RAMiCS'12 Proceedings of the 13th international conference on Relational and Algebraic Methods in Computer Science
Practical aspects of bidirectional graph transformations
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Programming language approaches to bidirectional transformation
Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications
Software and Systems Modeling (SoSyM)
A simple game-theoretic approach to checkonly QVT Relations
Software and Systems Modeling (SoSyM)
Synchronizing concurrent model updates based on bidirectional transformation
Software and Systems Modeling (SoSyM)
FliPpr: a prettier invertible printing system
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Reconciling exhaustive pattern matching with objects
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
A survey on reactive programming
ACM Computing Surveys (CSUR)
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
A declarative and bidirectional model transformation approach based on graph co-spans
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Science of Computer Programming
Semantic bidirectionalization revisited
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Monadic combinators for "Putback" style bidirectional programming
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Generating attribute grammar-based bidirectional transformations from rewrite rules
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.00 |
We propose a novel approach to the view-update problem for tree-structured data: a domain-specific programming language in which all expressions denote bidirectional 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 well-typed lenses. We begin by identifying a natural space of well-behaved bidirectional transformations over arbitrary structures, studying definedness and continuity in this setting. We then instantiate this semantic framework in the form of a collection of lens combinators that can be assembled to describe bidirectional 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, merging, etc.). We illustrate the expressiveness of these combinators by developing a number of bidirectional list-processing 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.