Bidirectional evaluation with direct manipulation
Bidirectional evaluation with direct manipulation
复制标题
直接操作的双向评估
DOI:
10.1145/3276497
复制
发表时间:
2018
影响因子:
--
通讯作者:
Chugh, Ravi
中科院分区:
文献类型:
--
作者:
Mayer, Mikaël;Kuncak, Viktor;Chugh, Ravi
We present an evaluation update (or simply, update) algorithm for a full-featured functional programming language, which synthesizes program changes based on output changes. Intuitively, the update algorithm retraces the steps of the original evaluation, rewriting the program as needed to reconcile differences between the original and updated output values. Our approach, furthermore, allows expert users to define custom lenses that augment the update algorithm with more advanced or domain-specific program updates.To demonstrate the utility of evaluation update, we implement the algorithm in Sketch-n-Sketch, a novel direct manipulation programming system for generating HTML documents. In Sketch-n-Sketch, the user writes an ML-style functional program to generate HTML output. When the user directly manipulates the output using a graphical user interface, the update algorithm reconciles the changes. We evaluate bidirectional evaluation in Sketch-n-Sketch by authoring ten examples comprising approximately 1400 lines of code in total. 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 environments.
登录
查看更多内容
DOI:
--
发表时间:
2007
期刊:
ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation
影响因子:
--
作者:
Dongxi Liu;Zhenjiang Hu;M. Takeichi
通讯作者:
M. Takeichi
DOI:
--
发表时间:
2004
期刊:
ACM SIGPLAN International Conference on Functional Programming
影响因子:
--
作者:
R. Findler;M. Flatt
通讯作者:
M. Flatt
DOI:
--
发表时间:
2005
期刊:
ACM SIGPLAN International Workshop on Types In Languages Design And Implementation
影响因子:
--
作者:
A. Chlipala;Leaf Petersen;R. Harper
通讯作者:
R. Harper
DOI:
--
发表时间:
2006
期刊:
arXiv.org
影响因子:
--
作者:
T. Schreiber;M. Penrose;J. Yukich
通讯作者:
J. Yukich
影响因子:
--
作者:
Anders Miltner;Kathleen Fisher;B. Pierce;D. Walker;Steve Zdancewic
通讯作者:
Steve Zdancewic