An idea that may or may not be terrible, written down so I can get it out of my head and into someone who can do something about it.
What if we started from scratch with code represented as graphs, not text?
An idea that may or may not be terrible, written down so I can get it out of my head and into someone who can do something about it.
What if we started from scratch with code represented as graphs, not text?
@samir I think you'd enjoy CSP (occam-pi!), if you want zoomable views on a program...
Editors that work on an AST and happen to render text, or graphs, sounds fun though :)
@samir It is, unfortunately, quite thoroughly link-rotted, but https://www.cs.kent.ac.uk/projects/ofa/kroc/#occampi has some places to start. Think go before go was a thing, or erlang but with blocking channels....
The part about it being "zoomable" - basically if you define a process with some inputs and outputs, and then glue it together with a few others, you can treat the whole thing as one black-box with some ins and outs and forget about its internals.
Go is, probably, the closest modern thing to it.
@twigathy Aha, I get you now! This is the best thing about proofs (I feel the same way about dependently-typed programming). The more information you can convey in a signature or type, the less you need to look inside.
I'm surprised you say that Go is close to it, though; is this because of culture? I'm sure that Rob Pike shouting “don't do anything clever" every time you open a .go file helps.
@samir More the channels / communicating processes than anything :)
I bet if you could treat blocks of your AST-program as a black box (Thanks to the mysteries of CSP), it would make reading the whole thing way easier!