Grounded copilot: How programmers interact with code-generating models
Powered by recent advances in code-generating models, AI assistants like Github Copilot
promise to change the face of programming forever. But what is this new face of …
promise to change the face of programming forever. But what is this new face of …
Trace-guided inductive synthesis of recursive functional programs
We propose a novel trace-guided approach to tackle the challenges of ambiguity and
generalization in synthesis of recursive functional programs from input-output examples. Our …
generalization in synthesis of recursive functional programs from input-output examples. Our …
Small-step live programming by example
K Ferdowsifard, A Ordookhanians, H Peleg… - Proceedings of the 33rd …, 2020 - dl.acm.org
Live programming is a paradigm in which the programming environment continually
displays runtime values. Program synthesis is a technique that can generate programs or …
displays runtime values. Program synthesis is a technique that can generate programs or …
Projection boxes: On-the-fly reconfigurable visualization for live programming
S Lerner - Proceedings of the 2020 CHI Conference on Human …, 2020 - dl.acm.org
Live programming is a regime in which the programming environment provides continual
feedback, most often in the form of runtime values. In this paper, we present Projection …
feedback, most often in the form of runtime values. In this paper, we present Projection …
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 …
Language-parametric static semantic code completion
DAA Pelsmaeker, H van Antwerpen… - Proceedings of the …, 2022 - dl.acm.org
Code completion is an editor service in IDEs that proposes code fragments for the user to
insert at the caret position in their code. Code completion should be sound and complete. It …
insert at the caret position in their code. Code completion should be sound and complete. It …
A Study of Editor Features in a Creative Coding Classroom
Creative coding is a rapidly expanding domain for both artistic expression and
computational education. Numerous libraries and IDEs support creative coding, however …
computational education. Numerous libraries and IDEs support creative coding, however …
LooPy: interactive program synthesis with control structures
One vision for program synthesis, and specifically for programming by example (PBE), is an
interactive programmer's assistant, integrated into the development environment. To make …
interactive programmer's assistant, integrated into the development environment. To make …
Improving Programming for Exploratory Digital Fabrication with Inline Machine Control and Styled Toolpath Visualizations
Makers from increasingly diverse backgrounds use digital fabrication machines to explore
novel design spaces. However, software tools for fabrication are designed primarily for …
novel design spaces. However, software tools for fabrication are designed primarily for …
Filling typed holes with live GUIs
Text editing is powerful, but some types of expressions are more naturally represented and
manipulated graphically. Examples include expressions that compute colors, music …
manipulated graphically. Examples include expressions that compute colors, music …