86 citations · 347 across the 12 of their papers we have counts for
7 papers · 1 filter
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…
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…
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…
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…
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…
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…
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…