Red Echo

July 26, 2012

Radian’s async generators are finally done and shipped, as of yesterday. The project took much longer and proved substantially more difficult than I had expected it would, but now it’s done, and it was the last big piece of engineering work on my to-do list. What’s at the end of the to-do list? Not “Radian 1”, probably, but a version of Radian that can actually do more than just demonstrate how the language works.

Yes, it’s true, I’ve spent years building a programming tool that cannot yet do any useful work. I’ve been reluctant to push this thing out into the public eye, in part because there were simply too many unanswered questions about how all these ideas would work in practice. I wanted to preserve my freedom to revise the language without having to maintain compatibility with code people had already written.

The very next change I’m going to make would have broken every existing Radian program, if there were any. Now that the async task system is in place, I’m going to tear out the whole IO system and write one based on the ‘sync’ operator. It will be dramatically more readable, a lot easier for people to figure out – it’s one new thing to add instead of a whole different way to think about it.