<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>I've never understood why functional (and in particular
      Haskell-influenced) approaches to hardware never took off. I
      suspect it was political (Haskell is too academic, etc.), or
      perhaps the companies using it are just quiet about it :)<br>
      <br>
      I think you could use monads for clock domains. Once something has
      a clocked input, its output will be clocked too - it fits well
      with the "lift anything unclocked to clocked, but once clocked it
      is *always* clocked".<br>
    </p>
    <div class="moz-cite-prefix">On 10/21/18 2:59 AM, Siddharth Bhat
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAPipc=3iAjw1HCHy1qxgg1bMXLSr9zafsXzijQpYHH=Et4LESA@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      Kind of tangential, but bluespev verilog is a "Haskell inspired"
      version of verilog that has a strong Haskell flavour (typeclasses,
      purity, a rudimentary effect system that tracks combinational
      versus state based logic, clock domains embedded into the type,
      width polymorphic functions, etc).
      <div><br>
      </div>
      <div>It's a really great way to see what a haskell-like-hardware
        description language could look like :)</div>
      <div><br>
      </div>
      <div>Cheers</div>
      <div>siddharth<br>
        <br>
        <div class="gmail_quote">
          <div dir="ltr">On Sun 21 Oct, 2018, 12:34 Joachim Durchholz,
            <<a href="mailto:jo@durchholz.org" moz-do-not-send="true">jo@durchholz.org</a>>
            wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">Am
            21.10.18 um 04:52 schrieb Will Yager:<br>
            > <br>
            > This is the basis of projects like Clash (Haskell to
            HDLs).  I imagine one could extend the clash approach to
            generate allocation-free assembly from the same (large)
            subset of Haskell.<br>
            <br>
            Is that subset described somewhere?<br>
            <br>
            Regards,<br>
            Jo<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" moz-do-not-send="true">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>
      -- <br>
      <div dir="ltr" class="gmail_signature"
        data-smartmail="gmail_signature">
        <div dir="ltr">Sending this from my phone, please excuse any
          typos!</div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
<a class="moz-txt-link-freetext" href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a>
Only members subscribed via the mailman list are allowed to post.</pre>
    </blockquote>
  </body>
</html>