I'm way too busy now ... but I'm having some kicking ideas about my own grandiose bid to improve programming ...
... think GeekWeaver in an SdiDesk-alike editor (obviously).
Then imagine that *everything* is a template.
That's the way that GeekWeaver is already going. Everything is a template (ie. has named slots that can be filled). Function calls are just the injection of a data-block into that template. Another way of putting it, all objects know how to handle the "call" message with a data-block as argument, even if they don't do anything very useful with it.
But now imagine that all the types of things you can get in SdiDesk ... text pages, grids, network diagrams, are also templates. And you can plug and pipe them together any way you like. One page can hold a table, another a network diagram-shaped template, and a third can be specified as the result of injecting the first into the second.
Hmmm ... this definitely looks like it's going in the right direction.