
Dan Piponi wrote:
This isn't a question specific to ghc.
Most certainly not. ;-) (Well, except that I asked "where did GHC come from", which is pretty GHC-specific.) However, it seems the general point of confusion is that writing (say) a minimally-working C compiler intuitively "seems" quite easy (after all, C is an extremely low-level language), whereas the constructs in Haskell bear no resemblence to any machine-level constructs, and it "seems" unthinkable that you could possibly write such a compiler in anything but Haskell itself.
In general, the process of bootstrapping compilers and porting them to new platforms can be described by T-diagrams. When I did a web search on T-diagrams the first hit I found, http://proglang.informatik.uni-freiburg.de/teaching/compilerbau/2004/T-diagr... seemed to summarise them well.
Ooo... interesting.