Recently an urge has been growing inside me. I have been wanting to play with graphical programming; I believe the age of textual programming is nearly over1, and I want to experiment with the next phase.
I’m asking for recommendations for languages or libraries in which to create this experiment. It’s purely an experiment, so experimental languages and environments are okay. Things along the lines of Squeak are okay (I don’t know smalltalk, but I was going to start researching it, until I realized that there might be something better I’ve never even heard of). Basically I want it to be a nice match for what I’m doing; I want it to be ridiculously easy to create a GUI (and I don’t care how it looks, so long as it does the right thing).
I’ll describe what I’m doing. My first experiment is a dependently-typed “environment”. I’m picturing bubbles floating around (could be boxes in a table, I don’t care) which are not organized in any linear fashion. These bubbles are tagged with a type and possibly a name, and they represent “I have an object of type t“. Arrow types are multi-parameter and look like this:
Where the things on the left are “important” parameters, the thing on the right is the return type, and the things on the bottom are “extra” or “implicit” parameters. And you can drag a bubble onto a parameter of an arrow to represent application, and to get a new curried composite bubble representing it. That’s basically the whole environment. What could I make that in?
1 The same way that C is an obsolete language today. :-)