<div dir="ltr">ok, so one example of this design, albeit implemented in a funky way (compiler passes written in coq), was <div>Adam Megacz's Garrows project <a href="http://www.megacz.com/berkeley/garrows/">http://www.megacz.com/berkeley/garrows/</a></div>

<div><br></div><div>a more concrete example of a haskell lib that enjoys a deep embedding and doesn't let you inject arbitrary (f:: a-> b )</div><div>would be Accelerate <a href="http://hackage.haskell.org/package/accelerate">hackage.haskell.org/package/accelerate</a> (the expression language there could be made into an "<b>arr</b> free Arrow" but not an Arrow that  has <b>arr</b>)</div>

<div><br></div><div>basically not having <b>arr</b> or the monadic equiv <b>bind</b>, gives you a way to write libs where you can get a program as a first order AST  when you "run it" and be able to analyze/compile it in user land at runtime</div>

<div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 17, 2014 at 4:37 PM, Jan Stolarek <span dir="ltr"><<a href="mailto:jan.stolarek@p.lodz.pl" target="_blank">jan.stolarek@p.lodz.pl</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">> assuming that any haskell function can be embedded in an<br>
</div>> arrow instance (...) prevents a lot of interesting deep embedding uses of the Arrow<br>
> abstraction<br>
Could you point me to some specific examples? I'm new to arrows and definitely far from groking<br>
all the arcana of their usage.<br>
<br>
Janek<br>
</blockquote></div><br></div>