<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p><br>
</p>
<div class="moz-cite-prefix">On 2/5/20 8:17 AM, Carter Schonwald
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAHYVw0ztgdHX-x-bWfrB96HDbFy+s3VOOb8QZkzkTpde-fTfrQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div>
<div dir="auto">Applicative do notation ?</div>
</div>
</blockquote>
<p>Probably not. See below.</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:CAHYVw0ztgdHX-x-bWfrB96HDbFy+s3VOOb8QZkzkTpde-fTfrQ@mail.gmail.com">
<div dir="auto"><br>
</div>
<div dir="auto">Doesn’t recent ghc also have source plugins ? I’m
admittedly unfamiliar with those ?</div>
<div dir="auto"><br>
</div>
<div dir="auto">Have you looked at how stuff like the ivory/tower
edsl libraries do their embedding? </div>
<div dir="auto"><br>
</div>
</blockquote>
<p>I'm unaware of these. Thanks for the pointer.<br>
</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:CAHYVw0ztgdHX-x-bWfrB96HDbFy+s3VOOb8QZkzkTpde-fTfrQ@mail.gmail.com">
<div dir="auto">Do you have enough examples for them to treat
getting started as a “use your cookbook” and then go from there
?</div>
</blockquote>
<p>Haskell is already a stretch. Doing things like this:<br>
</p>
<p>a <- (b `and`) =<< not c<br>
</p>
<p>Is just never going to work.</p>
<p>Keeping it in ANF:</p>
<p>nc <- not c</p>
<p>a <- b `and` nc</p>
<p>Is easier to explain, but it is very hard to justify why you can
only put the result of a single operation in a variable, and why
sometimes it is "let" and other times it is that arrow.<br>
</p>
<p>Basically I'm asking people to give up expressions while they
work just fine in C or Verilog. It's a step down. I really don't
blame them.<br>
</p>
<br>
<p><br>
</p>
<p><br>
</p>
<br>
</body>
</html>