<div dir="ltr"><div dir="ltr">Not something I've worked on (my answer to your original question is 'no I haven't'), but GHC has a compiler from 'CMM' to various assemblies written in Haskell </div><div dir="ltr">Code at:</div><div dir="ltr"><a href="https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/CmmToAsm/">https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/CmmToAsm/</a></div><div dir="ltr"></div><div dir="ltr"><a href="https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/CmmToAsm/X86/CodeGen.hs">https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/CmmToAsm/X86/CodeGen.hs</a></div><div dir="ltr"><br></div><div>(I used to think that LLVM was the last step in GHC. I don't know when or how I ever got that idea. Last year I learned that it only uses LLVM if you tell it to and it bypasses it completely <a href="https://downloads.haskell.org/~ghc/8.10.2/docs/html/users_guide/codegens.html">with the default `-fasm' option</a>. In any case, my own earlier misconception is why I felt the need to point out what is perhaps obvious to most.)<br></div><div><br></div>Sebastiaan<div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Dec 14, 2020 at 3:09 PM Vanessa McHale <<a href="mailto:vamchale@gmail.com">vamchale@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">That I stumbled across! I like it, though I've put off learning about <br>
assemblers...<br>
<br>
On 12/14/20 2:05 PM, Henning Thielemann wrote:<br>
><br>
> On Mon, 14 Dec 2020, Vanessa McHale wrote:<br>
><br>
>> Have any of you written compilers or backends that generate assembly? <br>
>> Lots of projects seem to "end" at LLVM.<br>
><br>
> I don't know of compiler backends, but I know of an x86 machine code <br>
> generator:<br>
>    <a href="https://hackage.haskell.org/package/harpy" rel="noreferrer" target="_blank">https://hackage.haskell.org/package/harpy</a><br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div></div></div>