Live data from Hacker News

λ-2D: An exploration of drawing as programming language

media.mit.edu

21–30 of 59 posts

Re: λ-2D: An exploration of drawing as programming language

#22

Cool, but in practice, for software development you need version control. Has anyone ever seen a workable solution for diffing -- let alone merging -- _any_ graphical language?

No, but that is probably because such a thing hasn't ever really been needed. To be a reasonably good product, it would probably need to parse the language to show both an actual pixel-for-pixel difference and a what-is-practically-different diff. Merging seems next to impossible with more complex programs, unless there could be an art->program->art program. The problem with that is that it would (probably) destroy any comment art or organization that was in the program before. The more I think about it, the more I think that a merge for this sort of file would be a really cool semester project for a comp sci class.

Re: λ-2D: An exploration of drawing as programming language

#23

This is very cool. I've always been very disappointed that programming is so utterly dominated by the linear text format. It feels like so much potential for expression and feedback is getting left on the table, making use of our capacity to understand and work with spatialisation, patterns, sounds, colours, dynamics, etc would make a lot of sense. Bret Victor's The Future of Programming and other talks come to mind…

I wish we had a smarter feedback loop between trying an idea (aka typing stuff) and reacting to results. Right now tdd or type inference doesn't really produce backward infered hints. Types do help exhaustive matching but you may be able to reverse trials output back to function types and conditionals. Your editor would become a convergence game.

A REPL?

Re: λ-2D: An exploration of drawing as programming language

#24
post #22

Cool, but in practice, for software development you need version control. Has anyone ever seen a workable solution for diffing -- let alone merging -- _any_ graphical language?

No, but that is probably because such a thing hasn't ever really been needed. To be a reasonably good product, it would probably need to parse the language to show both an actual pixel-for-pixel difference and a what-is-practically-different diff. Merging seems next to impossible with more complex programs, unless there could be an art->program->art program. The problem with that is that it would (probably) destroy a…

> because such a thing hasn't ever really been needed.

I think this is backwards. I think the lack of collaboration is exactly why graphical programming can't be used by most. It's so badly needed, that it's not even usable without it, for the majority of people.

Re: λ-2D: An exploration of drawing as programming language

#25

What was that language or system where it would read what you wrote down on a piece of paper and then execute the program ?

Since the purpose of all programming languages is to be readily readable by biological OCR systems, I would think all. ;)

Re: λ-2D: An exploration of drawing as programming language

#26
The untyped lambda calculus seems pretty uninteresting compared to 'typed' counterparts that tend to come with more interesting graphical visualizations out of the box, viz. string diagrams (where the topological features of the diagram have their counterpart in useful program transformations).

Also, I thought it would be fairly well established by now that the De Bruijn notation for the untyped lambda calculus, with prefix function abstraction but postfix application, better reflects its underlying properties since it allows for an intuitive visual understanding of reduction, where applications can be directly matched up to abstractions.

Re: λ-2D: An exploration of drawing as programming language

#29
This is really cool!

I worked on this very same idea (a programming language without text) during my grad school years, and it's online here, if anyone is curious:

https://www.blockstud.io

Here's an example of one creator's projects (definitely not me!):

https://blockstud.io/profile/15572

Re: λ-2D: An exploration of drawing as programming language

#30
post #19

Very nice! However written languages convey not just what a program does , but also, through the names of things, what it means . Unfortunately there is no validation of (or other computation with) the meaning - so what it seems to mean may or may not have any bearing on what it actually means, either now or previously. Thus a program is not just how humans talk to machines, but also (one of many ways) humans talk to…

They do show some diagrams with comments. It's true that there's no validation of comments. But there's also no validation that the name of a variable is what that variable actually means, or that the name of a function is what that function actually does.

Indeed - but with text programs you are forced to provide a name (hopefully a meaningful one!)
Post reply on HN