<br>Don Stewart:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">tomahawkins:<br>
<div>&gt; A few years ago I attempted to build a Haskell hardware compiler<br>
&gt; (Haskell -&gt; Verilog) based on the Yhc frontent.  At the time I was<br>
&gt; trying to overcome several problems [1] with implementing a hardware<br>
&gt; description language as a light eDSL, which convinced me a proper<br>
&gt; compiler may be a better approach.  Yhc was recommended as a good<br>
&gt; starting point since it had a simpler IR compared with GHC -- at least<br>
&gt; at the time.<br>
&gt;<br>
&gt; I am considering restarting this effort, but this time to target hard<br>
&gt; realtime embedded code.  What is the recommended compiler to start<br>
&gt; from?  I need an IR that is post type checking with as much desugaring<br>
&gt; as possible, and a code base that is relatively easy to splice and<br>
&gt; build.<br>
&gt;<br>
&gt; My other requirement is not to be bound to IO () for &#39;main&#39;.  The top<br>
&gt; level will be a monad, but with different semantics than IO.  I would<br>
&gt; also like to reuse the standard library, with exception to the values<br>
&gt; related to IO.<br>
&gt;<br>
&gt; What are my options?<br>
<br>
Have you looked at Clash, the GHC to VHDL compiler?<br>
</div></blockquote></div><br>Links are always useful:<br><br>  <a href="http://clash.ewi.utwente.nl/" target="_blank">http://clash.ewi.utwente.nl/</a><br>  <a href="http://hackage.haskell.org/package/clash" target="_blank">http://hackage.haskell.org/package/clash</a><br>


  <a href="http://dutchhug.nl/static/dutchhugday-2010/clash.pdf" target="_blank">http://dutchhug.nl/static/dutchhugday-2010/clash.pdf</a><br>  <a href="http://wiki.clean.cs.ru.nl/images/8/86/Christiaan-from-haskell-to.pdf">http://wiki.clean.cs.ru.nl/images/8/86/Christiaan-from-haskell-to.pdf</a><br>

<br>Sean<br>