Self-hosting was a pretty hard choice to make early on, but it turned out to be one of the best decisions we ever made. It forced many semantic issues to the surface, gave us a gigantic test-suite for free, and, most importantly, forced us to use our own language. We ended up cutting a lot of features that turned out not to be very helpful from the experience of writing the hosted compiler.