Conal (cc'd) also has an ongoing blog series about this http://conal.net/blog/ 


On Tue, Jun 17, 2014 at 4:45 PM, Carter Schonwald <carter.schonwald@gmail.com> wrote:
ok, so one example of this design, albeit implemented in a funky way (compiler passes written in coq), was 
Adam Megacz's Garrows project http://www.megacz.com/berkeley/garrows/

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

basically not having arr or the monadic equiv bind, 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



On Tue, Jun 17, 2014 at 4:37 PM, Jan Stolarek <jan.stolarek@p.lodz.pl> wrote:
> assuming that any haskell function can be embedded in an
> arrow instance (...) prevents a lot of interesting deep embedding uses of the Arrow
> abstraction
Could you point me to some specific examples? I'm new to arrows and definitely far from groking
all the arcana of their usage.

Janek