
On Nov 11, 2007, at 12:16 , Andrew Coppin wrote:
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.
Er? Languages evolve too; Haskell has several antecedents suitable to bootstrapping it, admittedly with varying levels of pain: LML, Miranda, if you really wanted to you could do it in Scheme or SML (and even Prolog, but keep the Excedrin bottle handy). And as already noted, Hugs is written in C. Again, headache- inducing, but remember that any Turing-equivalent language can be used to implement any other if you're willing to do the work. Expressiveness certainly makes it easier, but nothing (other than sanity...) stops you from writing a Haskell compiler in, say, COBOL. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH