Paul Donnelly wrote:I believe he's actually talking about a programming language composed of graphical objects rather than text.
Spot on. I'll learn to communicate with practice
djbuzzkill wrote:What sort of interface do you want? There are plenty of graphical packages: cl-sdl, cl-cairo, cl-opengl, depending on your needs.
I'd probably use one of those to implement a graphical programming interface to Lisp.
Paul Donnelly wrote:My first move would probably be to have the programmer type snippets of code wherever they wished, then draw lines from them to where arguments are expected by functions in other code snippets. Hopefully this would make it easier to deal with situations where you want to reuse a computation. It's kind of a natural step up from trees of code to graphs of code. With this in place, it might also become easier to represent data flow for user interfaces or audio processing.
That would be a nice starting point. I could imagine, get the REPL into a graphical interface, and then change the way things are displayed. I didn't want to taint others thoughts on this too much, but I was imagining that you could change the (display) colour (why not font, size, bold, etc?) of your function (making different things stand out). Probably even the shape
of the function. Yeah, and then drag other expressions into argument positions.
Paul Donnelly wrote:Visual macros, whatever form those might take, would probably be used to transform graphs of signal filters or on-screen objects into Lisp code.
I was thinking of it like this:
- plain lisp macros do this: code code
- Graphical programming does this: graphics code
- Graphical macros do this: graphics graphics
P.S. Those arrows don't blend in very well, do they