![Loading...](https://link.springer.com/static/c4a417b97a76cc2980e3c25e2271af3129e08bbe/images/pdf-preview/spacer.gif)
-
Chapter and Conference Paper
A Web Service Architecture for Bidirectional XML Updating
A Web service architecture is described for bidirectional XML updating. The updating mechanism exploits the power of bidirectional transformation so that users can update remote XML data by editing a view on t...
-
Chapter and Conference Paper
Gradual Refinement
Pattern matching is advantageous for understanding and reasoning about function definitions, but it tends to tightly couple the interface and implementation of a datatype. Significant effort has been invested ...
-
Chapter and Conference Paper
A Grammar-Based Approach to Invertible Programs
Program inversion has many applications such as in the implementation of serialization/deserialization and in providing support for redo/undo, and has been studied by many researchers. However, little attentio...
-
Chapter and Conference Paper
Marker-Directed Optimization of UnCAL Graph Transformations
Buneman et al. proposed a graph algebra called UnCAL (Unstructured CALculus) for compositional graph transformations based on structural recursion, and we have recently applied to model transformations. The co...
-
Chapter
Three Complementary Approaches to Bidirectional Programming
This paper surveys three distinct approaches to bidirectional programming. The first approach, syntactic bidirectionalization, takes a program describing the forward transformation as input and calculates a well-...
-
Article
Functional programs as compressed data
We propose an application of programming language techniques to lossless data compression, where tree data are compressed as functional programs that generate them. This “functional programs as compressed data...
-
Article
Open AccessPolynomial-time inverse computation for accumulative functions with multiple data traversals
The problem of inverse computation has many potential applications such as serialization/deserialization, providing support for undo, and test-case generation for software testing. In this paper, we propose an...
-
Chapter and Conference Paper
FliPpr: A Prettier Invertible Printing System
When implementing a programming language, we often write a parser and a pretty-printer. However, manually writing both programs is not only tedious but also error-prone; it may happen that a pretty-printed res...
-
Chapter and Conference Paper
Pairwise Reachability Analysis for Higher Order Concurrent Programs by Higher-Order Model Checking
We propose a sound, complete, and automatic method for pairwise reachability analysis of higher-order concurrent programs with recursion, nested locks, joins, and dynamic thread creation. The method is based o...
-
Article
Inspection of Asian Lacquer Substructures by Terahertz Time-Domain Imaging (THz-TDI)
Lacquering is considered one of the most representative Asian artistic techniques. While the decorative part of lacquerwares is the lacquer itself, their substructures serve as the backbone of the object itsel...
-
Chapter and Conference Paper
HOBiT: Programming Lenses Without Using Lens Combinators
We propose HOBiT, a higher-order bidirectional programming language, in which users can write bidirectional programs in the familiar style of conventional functional programming, while enjoying the full expres...
-
Article
FliPpr: A System for Deriving Parsers from Pretty-Printers
When implementing a programming language, we often write a parser and a pretty-printer. However, manually writing both programs is not only tedious but also error-prone; it may happen that a pretty-printed res...
-
Article
Diffusion of chemicals into archaeological waterlogged hardwoods obtained from the Thang Long Imperial Citadel site, Vietnam
This study shows a method to easily develop suitable impregnation procedure of chemicals for preserving the archaeological waterlogged wood (WW) using diffusion constant. The steady-state diffusion coefficient...
-
Chapter and Conference Paper
Modular Inference of Linear Types for Multiplicity-Annotated Arrows
Bernardy et al. [2018] proposed a linear type system \(\lambda ^q_\rightarrow \) λ ...
-
Article
Open AccessSynbit: synthesizing bidirectional programs using unidirectional sketches
We propose a technique for synthesizing bidirectional programs from the corresponding unidirectional code plus input/output examples. The core ideas are: (1) constructing a sketch using the given unidirectional p...
-
Chapter and Conference Paper
Reconciling Partial and Local Invertibility
Invertible programming languages specify transformations to be run in two directions, such as compression/decompression or encryption/decryption. Two key concepts in invertible programming languages are partial i...