Venerable Haskell Hackers,<div><br></div><div>I love Haskell and think it should run everywhere. Now supposing I would like to build another backend for GHC, perhaps for Java Bytecode, .Net CIL, or JavaScript, What would be the best way to approach that? I can think of a few options:</div>
<div><br></div><div>1. Produce External Core with -fext-core and compile that with a completely separate compiler</div><div>2. Use the GHC apis to build a compiler that reuses a load of GHC&#39;s code, but has it&#39;s own backend</div>
<div>3. Add a new backend directly into GHC</div><div><br></div><div>Any other options?</div><div><br></div><div>While I&#39;m on the subject, why has Haskell not been ported to the likes of the JVM, .NET CLR, or JavaScript? Are Haskell&#39;s non-strict semantics just too different from the semantics of these other platforms? </div>
<div><br></div><div>SPJ is known for saying that Haskell&#39;s plan for world domination is support for many parallelism/concurrency idioms. I believe running on many platforms is just as important. From my point of view, languages that cannot run on one of the 3 aforementioned platforms will become irrelevant. (with the exception of C, of course).</div>
<div><br></div><div>Thoughts?</div><div><br></div><div>--J Arthur</div>