For an earlier prototype, a high-level statement-oriented language with a
tree-walking interpreter, see mu1.
The zen of Mu:
traces, not interfaces
be rewrite-friendly, not backwards-compatible
be easy to port rather than portable
global structure matters more than local hygiene
Mu's vision of utopia:
Run your devices in 1/1000th the code.
1000x more forks for open source projects.
Make simple changes to any project in an afternoon, no matter how large it is.
Projects don't slow down with age, they continue to evolve just as fast as
when they were first started.
All software rewards curiosity, allowing anyone to query its design
decisions, gradually learn how to tweak it, try out increasingly radical
redesign ideas in a sandbox. People learn programming as an imperceptible side
effect of tinkering with the projects they care about.
A literate digital society with widespread skills for
comprehending large-scale software structure and comparing-and-contrasting
similar solutions. (I don't think anybody is literate by this definition
today. All we can do easily is read our own programs that we wrote recently.)