Tangible Functional Programming

A March 27, 2007 draft of a paper by Conal Elliot:

We present a user-friendly approach to unifying program creation and execution, based on a notion of “tangible values” (TVs), which are visual and interactive manifestations of pure values. Programming happens by gestural composition of TVs. Our goal is to give end-users the ability to create parameterized, composable content without imposing the usual abstract and linguistic working style of programmers. We hope that such a system will put the essence of programming into the hands of many more people, and in particular people with artistic/visual creative style.

In realizing this vision, we develop algebras for visual presentation and for “deep” function application, where function and argument may both be nested within a structure of tuples, functions, etc. Composition gestures are translated into chains of combinators that act simultaneously on statically typed values and their visualizations.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Note the "comments please"

Note the "comments please" notice at the top of page 1.

Additional context

Hey, I did a talk about the

Hey, I did a talk about the tangible values part of this today, as a part of the course on advanced functional programming at Universiteit Utrecht.

The idea seems really promising, though not so much for functional programming visually, as for making GUIs for your functional programs. Let's hope he can find enough time and manpower to develop it into something usable (at the moment, the user interface library supports only sliders, text fields and checkboxes).

Two more pointers

I just added two relevant pointers to the paper's web page: