1. Read Dijkstra's material: - learn about contract oriented programming, pre- and post-conditions and invariants
2. Learn about functional programming and lambda calculus
3. Read Joe Armstrong’s dissertation
let's look at requirements first:
solid, stable, secure, KISS, small, best of breed applications instead of trying to include everything, vanilla kernel, not a patched one!