I’m personally very excited to see what comes of Axum. It’s one step on the long road towards limited automatic parallelism. Although I can’t claim credit for writing any code, I did design the fine grained isolation model Axum is built atop (something I call “Taming Side Effects” (TSE)). It’s a blend of functional programming with imperative programming enabled by using the concepts of Haskell’s state monad in a more familiar way. I’ll try to blog a bit more about it in coming weeks. It turns out I’ve recently shifted my focus to a new project with the aim of applying these ideas very broadly for a whole new platform.
Doing incubation work at Microsoft is tough work, because it takes a strong vision and drive to keep pushing forward. You need to take stances that are unconventional, risky, and often just plain unpopular, and drive against all odds. Usually you aren’t going to make any money off the ideas for years at a time, so it also takes a supportive management team who is willing to give you creative freedom and cut you checks. Most such efforts fail in a vaccuum. But hats off to the team for pushing hard, and going out early to ask what developers think. This is a huge milestone.