Filters








2,569 Hits in 3.8 sec

Applicative bidirectional programming with lenses

Kazutaka Matsuda, Meng Wang
2015 SIGPLAN notices  
In this paper, we develop a framework for applicative-style and higher-order bidirectional programming, in which we can write bidirectional transformations as unidirectional programs in standard functional  ...  the paradigm of bidirectional programming.  ...  This work is partially supported by JSPS KAKENHI Grant Numbers 24700020, 25540001, 15H02681, and 15K15966, and the Grand-Challenging Project on the "Linguistic Foundation for Bidirectional Model Transformation  ... 
doi:10.1145/2858949.2784750 fatcat:zkqagfoymja5loranpjazliy24

Applicative bidirectional programming with lenses

Kazutaka Matsuda, Meng Wang
2015 Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming - ICFP 2015  
In this paper, we develop a framework for applicative-style and higher-order bidirectional programming, in which we can write bidirectional transformations as unidirectional programs in standard functional  ...  the paradigm of bidirectional programming.  ...  This work is partially supported by JSPS KAKENHI Grant Numbers 24700020, 25540001, 15H02681, and 15K15966, and the Grand-Challenging Project on the "Linguistic Foundation for Bidirectional Model Transformation  ... 
doi:10.1145/2784731.2784750 dblp:conf/icfp/MatsudaW15 fatcat:btqhjgbil5f7vfifb76ccxmh5i

Multifocal: A Strategic Bidirectional Transformation Language for XML Schemas [chapter]

Hugo Pacheco, Alcino Cunha
2012 Lecture Notes in Computer Science  
bidirectional lenses for document migration.  ...  Lenses are one of the most popular approaches to define bidirectional transformations between data models.  ...  We start with a formal definition of the bidirectional lenses at the core of our framework: Definition 1 (Lens [10] ).  ... 
doi:10.1007/978-3-642-30476-7_6 fatcat:c4ui7q5cujhonhqbozpy5jdfou

Composing Bidirectional Programs Monadically [chapter]

Li-yao Xia, Dominic Orchard, Meng Wang
2019 Lecture Notes in Computer Science  
Instead, we introduce a framework for composing bidirectional programs monadically, enabling bidirectional programming with familiar abstractions in functional languages such as Haskell.  ...  Instead, bidirectional programming techniques allow programs to be written which can be interpreted in both directions.  ...  The framework of applicative lenses [18] uses a function representation of lenses to lift the point-free restriction of the combinator-based languages, and enables bidirectional programming with explicit  ... 
doi:10.1007/978-3-030-17184-1_6 fatcat:4gbjdtm7srg45i33pchcvdmoty

Bidirectional Transformations (BX 2015) Editorial

Alcino Cunha, Ekkart Kindler
2017 Journal of Object Technology  
located with STAF (Software Technologies: Applications and Foundations).  ...  Bx are an emerging topic in a wide range of research areas, with prominent presence at top conferences in several different fields (namely databases, programming languages, software engineering, and graph  ...  , Italy, on July 24, 2015, co-located with STAF (Software Technologies: Applications and Foundations).  ... 
doi:10.5381/jot.2017.16.1.e1 fatcat:fimd5wtc4ze6xo4tbmyghcgbp4

Towards Combinators for Bidirectional Model Transformations in Scala [chapter]

Arif Wider
2012 Lecture Notes in Computer Science  
We embed lenses -a promising term-rewriting-based approach to bidirectional transformations -into the Scala programming language and use lenses for model synchronization.  ...  Special languages for expressing bidirectional transformations can help in this respect, but existing non-bijective languages are often hard to integrate with other MDE technologies or depend on upto-date  ...  In this paper, we present a lightweight approach to bidirectional model transformations: We embed lenses -a combinator-based approach to bidirectional term-transformations -into the Scala programming language  ... 
doi:10.1007/978-3-642-28830-2_21 fatcat:z6dc775lsjburibpgesq5s2xyi

Composing bidirectional programs monadically (with appendices) [article]

Li-yao Xia, Dominic Orchard, Meng Wang
2019 arXiv   pre-print
Instead, we introduce a framework for composing bidirectional programs monadically, enabling bidirectional programming with familiar abstractions in functional languages such as Haskell.  ...  Instead, bidirectional programming techniques allow programs to be written which can be interpreted in both directions.  ...  The framework of applicative lenses [18] uses a function representation of lenses to lift the point-free restriction of the combinator-based languages, and enables bidirectional programming with explicit  ... 
arXiv:1902.06950v1 fatcat:hpw3qndwwrdmtfmelyd2hw7uci

Applicative bidirectional programming

KAZUTAKA MATSUDA, MENG WANG
2018 Journal of functional programming  
In this paper, we develop a framework for applicative-style and higher-order bidirectional programming, in which we can write bidirectional transformations as unidirectional programs in standard functional  ...  to the paradigm of bidirectional programming.  ...  This work is partially supported by JSPS KAKENHI Grant Numbers 24700020, 25540001, 15H02681, and 15K15966, and the Grand-Challenging Project on the "Linguistic Foundation for Bidirectional Model Transformation  ... 
doi:10.1017/s0956796818000096 fatcat:ce4rs2vcybghjj2cmbnvfmotpu

Refactorings in Language Development with Asymmetric Bidirectional Model Transformations [chapter]

Martin Schmidt, Arif Wider, Markus Scheidgen, Joachim Fischer, Sebastian von Klinski
2013 Lecture Notes in Computer Science  
We use asymmetric bidirectional model transformations to synchronize the various artifacts of language descriptions with a refactoring model that contains all elements that are changed in a particular  ...  They are constructed with declarative descriptions for the user interface, imperative application logic implemented with a general-purpose programming language (GPL), and other specific languages, e.g.  ...  Lenses, as presented by Pierce et al., is a combinator-based approach to asymmetric bidirectional transformations, i.e., lenses are composed from other lenses.  ... 
doi:10.1007/978-3-642-38911-5_13 fatcat:2kd5b2zp2vardlxlxsmvtmg3ty

Calculating with lenses

Hugo Pacheco, Alcino Cunha
2011 Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation - PERM '11  
A key result is that uniqueness also holds for bidirectional folds and unfolds, thus unleashing the power of fusion as a program optimisation technique.  ...  In particular, it focuses on the so-called lenses as a bidirectional idiom, and shows that many standard laws characterising point-free combinators and recursion patterns are also valid in that setting  ...  bidirectional lenses.  ... 
doi:10.1145/1929501.1929520 dblp:conf/pepm/PachecoC11 fatcat:pk6jb6dc35erpgomv27renmywi

Bidirectional evaluation with direct manipulation

Mikaël Mayer, Viktor Kuncak, Ravi Chugh
2018 Proceedings of the ACM on Programming Languages (PACMPL)  
Our approach, furthermore, allows expert users to define custom lenses that augment the update algorithm with more advanced or domain-specific program updates.  ...  These examples demonstrate how a variety of HTML documents and applications can be developed and edited interactively in Sketch-n-Sketch, mitigating the tedious edit-run-view cycle in traditional programming  ...  ACKNOWLEDGMENTS This work was supported in part by Swiss National Science Foundation Early Postdoc.Mobility Fellowship No. 175041, European Research Council Project "Implicit Programming" GA 306484-IMPRO  ... 
doi:10.1145/3276497 fatcat:dfgbt3synffsphgsdgiq3q2mwu

Validity Checking of Putback Transformations in Bidirectional Programming [chapter]

Zhenjiang Hu, Hugo Pacheco, Sebastian Fischer
2014 Lecture Notes in Computer Science  
with existing bidirectional transformation approaches.  ...  In this paper, we propose, as far as we are aware, the first safe language for supporting putback-based bidirectional programming.  ...  All the above existing bidirectional programing approaches based on lenses focus on writing bidirectional programs that resemble the get function, and possibly take some additional parameters that provide  ... 
doi:10.1007/978-3-319-06410-9_1 fatcat:amf3s26wlvagbl3fxgeiuz55ji

Lenses for Web Data

Raghu Rajkumar, Nate Foster, Sam Lindley, James Cheney
2013 Electronic Communications of the EASST  
We introduce formlenses, which combine the advantages of formlets with those of lenses to provide compositional, bidirectional form-based views of Web data.  ...  We show that formlenses can be viewed as monoidal functors over lenses, analogously to formlets, which are applicative functors.  ...  To the best of our knowledge, we are the first to use (monoidal) functors over lenses for programming.  ... 
doi:10.14279/tuj.eceasst.57.879 dblp:journals/eceasst/RajkumarFLC13 fatcat:dk5vqwf6erabtplou2rz4cuune

Quotient lenses

J. Nathan Foster, Alexandre Pilkiewicz, Benjamin C. Pierce
2008 Proceeding of the 13th ACM SIGPLAN international conference on Functional programming - ICFP '08  
At the level of syntax, we present a rich set of constructs for programming with canonizers and for quotienting lenses by canonizers.  ...  There are now a number of bidirectional programming languages, where every program can be read both as a forward transformation mapping one data structure to another and as a reverse transformation mapping  ...  Let's start with a very simple lens that gives a taste of programming with q-lenses in Boomerang, focusing on the canonization of XML trees.  ... 
doi:10.1145/1411204.1411257 dblp:conf/icfp/FosterPP08 fatcat:gc3ftmfho5acvppww7odj5xpiu

Quotient lenses

J. Nathan Foster, Alexandre Pilkiewicz, Benjamin C. Pierce
2008 SIGPLAN notices  
At the level of syntax, we present a rich set of constructs for programming with canonizers and for quotienting lenses by canonizers.  ...  There are now a number of bidirectional programming languages, where every program can be read both as a forward transformation mapping one data structure to another and as a reverse transformation mapping  ...  Let's start with a very simple lens that gives a taste of programming with q-lenses in Boomerang, focusing on the canonization of XML trees.  ... 
doi:10.1145/1411203.1411257 fatcat:fak5ldsqejdezikyr7zbejpbsy
« Previous Showing results 1 — 15 out of 2,569 results