2020
DOI: 10.1145/3428227
|View full text |Cite
|
Sign up to set email alerts
|

Programming with a read-eval-synth loop

Abstract: A frequent programming pattern for small tasks, especially expressions, is to repeatedly evaluate the program on an input as its editing progresses. The Read-Eval-Print Loop (REPL) interaction model has been a successful model for this programming pattern. We present the new notion of Read-Eval-Synth Loop (RESL) that extends REPL by providing in-place synthesis on parts of the expression marked by the user. RESL eases programming by synthesizing parts of a required solution. The underlying synthesizer relies o… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1

Citation Types

0
2
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
5
1

Relationship

0
6

Authors

Journals

citations
Cited by 11 publications
(3 citation statements)
references
References 61 publications
0
2
0
Order By: Relevance
“…Besides, many new interaction models [14,16,21,25,41] are proposed make PBE and PBD tools easier-to-use. As our paper focuses on the synthesis specification and algorithm design, its interaction model is basic.…”
Section: Related Workmentioning
confidence: 99%
“…Besides, many new interaction models [14,16,21,25,41] are proposed make PBE and PBD tools easier-to-use. As our paper focuses on the synthesis specification and algorithm design, its interaction model is basic.…”
Section: Related Workmentioning
confidence: 99%
“…Smith and Albarghouthi [12] describe how synthesis procedures can be adapted to only consider programs in normal form. MagicHaskeller [6] and RESL [11] filter out programs that evaluate to the same result. Instead of only using input-output examples for the verification of generated programs, Myth [4,10], Smyth [8], and λ 2 [3] use input-output examples during pruning, by eagerly checking incomplete programs for counterexamples using constraint propagation.…”
Section: Introductionmentioning
confidence: 99%
“…to sort, filter, or interact with the components just described. While interaction with suggestions is often simply selection from a menu, more involved interaction models include active code completion via palettes [33], interactive example augmentation [22], and work on the Read-Eval-Synthesize-Loop [34], which presents a Read-Eval-Print-Loop-inspired interaction model for driving human-in-the-loop synthesis.…”
Section: Introductionmentioning
confidence: 99%