Program sketching with live bidirectional evaluation
We present a system called Smyth for program sketching in a typed functional language
whereby the concrete evaluation of ordinary assertions gives rise to input-output examples …
whereby the concrete evaluation of ordinary assertions gives rise to input-output examples …
Bidirectional evaluation with direct manipulation
We present an evaluation update (or simply, update) algorithm for a full-featured functional
programming language, which synthesizes program changes based on output changes …
programming language, which synthesizes program changes based on output changes …
KBX: Verified Model Synchronization via Formal Bidirectional Transformation
Complex safety-critical systems require multiple models for a comprehensive description,
resulting in error-prone development and laborious verification. Bidirectional transformation …
resulting in error-prone development and laborious verification. Bidirectional transformation …
Embedding by Unembedding
Embedding is a language development technique that implements the object language as a
library in a host language. There are many advantages of the approach, including being …
library in a host language. There are many advantages of the approach, including being …
Sparcl: a language for partially-invertible computation
Invertibility is a fundamental concept in computer science, with various manifestations in
software development (serializer/deserializer, parser/printer, redo/undo, compressor …
software development (serializer/deserializer, parser/printer, redo/undo, compressor …
Local consistency restoration methods for triple graph grammars
L Fritsche - 2022 - tuprints.ulb.tu-darmstadt.de
Modern software systems are becoming increasingly complex and are created by different
stakeholders that commit to one vision. Yet, these stakeholders differ in their requirements …
stakeholders that commit to one vision. Yet, these stakeholders differ in their requirements …
Synbit: synthesizing bidirectional programs using unidirectional sketches
We propose a technique for synthesizing bidirectional programs from the corresponding
unidirectional code plus a few input/output examples. The core ideas are:(1) constructing a …
unidirectional code plus a few input/output examples. The core ideas are:(1) constructing a …
Blockchain-based bidirectional updates on fine-grained medical data
Electronic medical data sharing between stakeholders, such as patients, doctors, and
researchers, can promote more effective medical treatment collaboratively. These sensitive …
researchers, can promote more effective medical treatment collaboratively. These sensitive …
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 …
as compression/decompression or encryption/decryption. Two key concepts in invertible …
Applicative bidirectional programming: Mixing lenses and semantic bidirectionalization
A bidirectional transformation is a pair of map**s between source and view data objects,
one in each direction. When the view is modified, the source is updated accordingly with …
one in each direction. When the view is modified, the source is updated accordingly with …