Wonderland Philosophy
No Big Ideas
Taken from Jonathan Blow; a lot of languages set out to prove some concept and rarely does that concept work out. Classical languages tried to prove inheritance, yet it's hardly used. Go tried to prove channels, they are nothing special. Rust tries to prove the borrow checker, yet many accounts say it's only moderatly useful. Don't try to do anything big, just try to bring together the minimal set of functionality that is proven.
Maintenance
The most important thing is the ability to maintain code because this is the most expensive. We preference the reader of the code and the maintainer of the code over the author of the code. Because of this we put an emphasis on testing and documentation.
Debugging
The next most important thing (though also a significant part of maintenance) is debugging. The important philosophical point here is not to avoid bugs, but make them easy to find and making it possible to prove that code meets a set of specifications.
Empirical
Selected Projects
Get a few projects spun up on the language and cater to their needs, solve the problems that come up for them.
Bug Corpus
To meet this, I do want to collect a corpus of hard bugs. Case studies of bugs that took people a long time to find.
I also want to focus on debugging and assertion tools.