Ditty is a web-based programming environment I'm working on:
I think of it as a programming environment that fosters
The goal is to find ways to take advantage of all that information to make common editing tasks, particularly code reuse, faster.
Global auto-complete searches everyone else's code as well as your own, so that you can treat it more like a web search than plain old auto-complete.
Function names are free-form text with slots for parameters, and turning a hunk of code into a function (even if it's only used in that one place, why not?) is a single gesture. That makes the level of abstraction at which you want the code to be read completely configurable. Select the first half of a function and name it “initialization”. Ditty functions are for readability as much as they are for reuse. I'm also experimenting with non-textual representations, like pictures and video.
Ditty is a language framework supporting multiple domains, currently text processing and music.
I'm interested in several research questions, with a separate page for each:
Actually, you can't. It's not quite ready for the public web, yet. ☹