activity
20112023
most citedSketch-n-Sketch: Output-Directed Programming for SVG

86 citations · 347 across the 12 of their papers we have counts for

collaborators
Showing cs.PLShow all

7 papers · 1 filter

cs.PL2022★ 2 cited

Maniposynth: Bimodal Tangible Functional Programming

Brian Hempel, Ravi Chugh

Traditionally, writing code is a non-graphical, abstract, and linear process. Not everyone is comfortable with this way of thinking at all times. Can programming be transformed int…

cs.PL2019★ 42 cited

Program Sketching with Live Bidirectional Evaluation

Justin Lubin, Nick Collins, Cyrus Omar +1

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, wh…

cs.PL2018★ 39 cited

Bidirectional Evaluation with Direct Manipulation

Mikaël Mayer, Viktor Kunčak, Ravi Chugh

We present an evaluation update (or simply, update) algorithm for a full-featured functional programming language, which synthesizes program changes based on output changes. Intuit…

cs.PL2018

Live Functional Programming with Typed Holes

Cyrus Omar, Ian Voysey, Ravi Chugh +1

This paper develops a dynamic semantics for incomplete functional programs, starting from the static semantics developed in recent work on Hazelnut. We model incomplete functional…

cs.PL2015★ 65 cited

Programmatic and Direct Manipulation, Together at Last

Ravi Chugh, Brian Hempel, Mitchell Spradlin +1

Direct manipulation interfaces and programmatic systems have distinct and complementary strengths. The former provide intuitive, immediate visual feedback and enable rapid prototyp…

cs.PL2011

Dependent Types for JavaScript

Ravi Chugh, David Herman, Ranjit Jhala

We present Dependent JavaScript (DJS), a statically-typed dialect of the imperative, object-oriented, dynamic language. DJS supports the particularly challenging features such as r…

cs.PL2011★ 1 cited

Nested Refinements for Dynamic Languages

Ravi Chugh, Patrick M. Rondon, Ranjit Jhala

Programs written in dynamic languages make heavy use of features --- run-time type tests, value-indexed dictionaries, polymorphism, and higher-order functions --- that are beyond t…