<html><body><div style="color:#000; background-color:#fff; font-family:bookman old style, new york, times, serif;font-size:12pt"><div><h1 style="font-size: 16px; "><font class="Apple-style-span" face="'bookman old style', 'new york', times, serif" style="font-weight: normal;">&nbsp; LLVM has a .net and JVM code generator. I don't think it is production ready yet. GHC can generate code via LLVM. So in theory one could run on either VM. However, see the "Why isn't GHC available ..." link below. The GC and library integration would require lot's of work. Good senior project for someone who wishes to spend 3 years as a senior.</font></h1><div><font class="Apple-style-span" face="'bookman old style', 'new york', times, serif" style="font-weight: normal;">-Carlton</font></div><div><font class="Apple-style-span" face="'bookman old style', 'new york', times, serif" style="font-weight: normal;">&nbsp;&nbsp;</font></div><span class="Apple-style-span"
 style="font-family: Times; font-size: 16px; "><b>Daniel Peebles</b></span><span class="Apple-style-span" style="font-family: Times; font-size: medium; ">&nbsp;</span><span class="Apple-style-span" style="font-family: Times; font-size: medium; "><a href="mailto:haskell-cafe%40haskell.org?Subject=Re%3A%20%5BHaskell-cafe%5D%20Haskell%20compilers%20targeting%20VMs&amp;In-Reply-To=%3CCANaM3xBtFKT8PX8DEH_NMgG96uaiwAJoLruRxAZ6k%2BjFoS-7pA%40mail.gmail.com%3E" title="[Haskell-cafe] Haskell compilers targeting VMs">pumpkingod at gmail.com&nbsp;</a></span><br><i><br><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px; white-space: pre; font-style: normal; ">A more subtle issue is that there's some sort of memory leak that arises</span> </font></i><span class="Apple-style-span" style="font-family: 'times new roman', 'new york', times, serif; font-size: 16px; white-space: pre;
 ">when you can't instruct the GC to follow projection functions of data</span><span class="Apple-style-span" style="font-family: 'times new roman', 'new york', times, serif; font-size: 16px; white-space: pre; ">types. I believe the GHC heap representation has a built-in notion of these</span><span class="Apple-style-span" style="font-size: 16px; "> </span><span class="Apple-style-span" style="font-family: 'times new roman', 'new york', times, serif; font-size: 16px; white-space: pre; ">forwarding closures and the GC follows them when possible, but most VM GCs</span><span class="Apple-style-span" style="font-size: 16px; "> </span><span class="Apple-style-span" style="font-family: 'times new roman', 'new york', times, serif; font-size: 16px; white-space: pre; ">are just black boxes. It might still be possible to create an artificial</span><span class="Apple-style-span" style="font-size: 16px; "> </span><span class="Apple-style-span" style="font-family:
 'times new roman', 'new york', times, serif; font-size: 16px; white-space: pre; ">field in a representation of your closure that the GC can follow, but it</span><span class="Apple-style-span" style="font-size: 16px; "> </span><span class="Apple-style-span" style="font-family: 'times new roman', 'new york', times, serif; font-size: 16px; white-space: pre; ">could be tricky.</span><span class="Apple-style-span" style="font-size: 16px; "><pre>
On Thu, Feb 23, 2012 at 11:59 AM, Tom Murphy &lt;<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" style="font-family: Times; ">amindfv at gmail.com</a><font class="Apple-style-span" face="Times">&gt; wrote:

&gt;</font><i style="font-family: Times; "> There are some substantial technical challenges:
</i><font class="Apple-style-span" face="Times">&gt;</font><i>
</i><font class="Apple-style-span" face="Times">&gt;</font><i style="font-family: Times; "> <a href="http://www.haskell.org/haskellwiki/GHC:FAQ#Why_isn.27t_GHC_available_for_.NET_or_on_the_JVM.3F">http://www.haskell.org/haskellwiki/GHC:FAQ#Why_isn.27t_GHC_available_for_.NET_or_on_the_JVM.3F</a>
</i><font class="Apple-style-span" face="Times">&gt;</font><i style="font-family: Times; ">
</i><font class="Apple-style-span" face="Times">&gt;</font><i style="font-family: Times; "> Not that it can't be done, but there's nothing ready yet.
</i><font class="Apple-style-span" face="Times">&gt;</font><i style="font-family: Times; ">
</i><font class="Apple-style-span" face="Times">&gt;</font><i style="font-family: Times; "> Tom (IRC: amindfv)
</i><font class="Apple-style-span" face="Times">&gt;</font><i>
</i><font class="Apple-style-span" face="Times">&gt;</font><i style="font-family: Times; "> &gt;
</i><font class="Apple-style-span" face="Times">&gt;</font><i style="font-family: Times; "> &gt; Does any one knows of an Haskell compiler targeting the JVM ? And of one
</i><font class="Apple-style-span" face="Times">&gt;</font><i style="font-family: Times; "> &gt; targeting the .Net virtual machine ?
</i><font class="Apple-style-span" face="Times">&gt;</font><i style="font-family: Times; "> &gt;
</i><font class="Apple-style-span" face="Times">&gt;</font><i style="font-family: Times; "> &gt; Regards,
</i><font class="Apple-style-span" face="Times">&gt;</font><i style="font-family: Times; "> &gt; ARJANEN Loc</i></pre></span></div></div></body></html>