[Haskell-cafe] pointers for EDSL design

John Lato jwlato at gmail.com
Tue Oct 5 12:03:21 EDT 2010


Thanks for these, and also Stephen's extensive list.  I think it's fair to
say that I'm just exploring the space and don't know what I'm doing yet.  As
such, I'm pretty open to exploring ideas.  I'm only familiar with a small
fraction of these, so I've got some reading to do now!

For my toy language I've been working on a csound-like DSP language which is
compiled to Csound code (I am slightly familiar with Atom, and moreso with
Feldspar, but they're both quite different in usage style from what I'm
aiming at).  Essentially the Csound module from Haskore, but less verbose
and typed.  I've implemented it in a final-tagless style (at least as far as
I understand Kiselyov, Carette, and Shan), which has the very nice benefit
that even though I'm currently targetting csound I could target other
languages relatively simply.

When I said I wanted to use functions from Data.List and Control.Monad, I
meant that I wanted to use them to manipulate expressions in the edsl, which
has worked very well so far.  In fact everything has worked so well, and has
been so simple to implement, that I figure I must be missing something
important.

John

On Tue, Oct 5, 2010 at 4:29 PM, Sterling Clover <s.clover at gmail.com> wrote:

> Stephen's list is great! Two more points of reference from the recent ICFP
> -- Geoff Mainland's Nikola [1], and a nice talk on Kansas Lava [2].
>
> [1] http://www.eecs.harvard.edu/~mainland/publications/
> [2] http://www.scribd.com/doc/38559736/kansaslava-hiw10 -- hopefully the
> video from the implementor's workshop to appear soon.
>
> I suspect however, that it will prove hard to impossible to reuse Data.List
> and Control.Monad functions directly. You don't want to invoke functions at
> compile time, but represent invocations.
>
> Cheers,
> Sterl.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20101005/2e92f4e8/attachment.html


More information about the Haskell-Cafe mailing list