![Loading...](https://link.springer.com/static/c4a417b97a76cc2980e3c25e2271af3129e08bbe/images/pdf-preview/spacer.gif)
-
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...
-
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 \) λ ...
-
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...
-
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...
-
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
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 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...