
The most recent version of this book is
http://plucky.cs.yale.edu/cs431/HaskoreSoeV-0.12.pdf
(See http://plucky.cs.yale.edu/cs431/reading.htm )
Regards,
Henk-Jan van Tuyl
--
http://Van.Tuyl.eu/
http://members.chello.nl/hjgtuyl/tourdemonad.html
--
On Mon, 16 Nov 2009 18:49:07 +0100, Daryoush Mehrtash
Have you seen the Haskell School of Expression book by Paul Hudak?
The book is available on line, Ch 9 and 10 talks about music.
http://plucky.cs.yale.edu/cs431/HaskoreSoeV-0.7.pdf
Daryoush
On Mon, Nov 16, 2009 at 3:16 AM, CK Kashyap
wrote: Thanks Don,
I read the PDF. I was not able to figure out how to get the BASIC module. Wanted to see a reference implementation.
The DSL I want to start with is a music generation DSL ... It should generate a wave file with music data as input -> for example the input could contain C3 D3 E3 ... -> should output a wave file with those notes ... some kind of mnemonics for tempo will also be there. Later I'd like to incorporate parallel sequence generation -> where I could get chord effect etc ... I had done a rudimentary implementation in C a while back -> http://kashyap-1978.tripod.com/Escapades/Goodies/Construct_WAV.html
I'd appreciate it very much if you could give me some pointers on getting started.
Regards, Kashyap ------------------------------ *From:* Don Stewart
*To:* CK Kashyap *Cc:* haskell-cafe@haskell.org *Sent:* Mon, November 16, 2009 12:57:54 AM *Subject:* Re: [Haskell-cafe] DSL in Haskell Hi All, I was reading a Ruby book and in that it was mentioned that its capability to dynamically query and modify classes makes it suitable for implementing DSL's ... I am referring to Ruby's reflection and methods like "method_missing" here. It can allow things like not having to define constants for all
unicode code points etc...For example, first use of U0123 could bring such a constant definition into existence etc
I see multiple search hits when I look for Haskell and DSL - can someone
ck_kashyap: possible please
point me to a good primer or explain to me how equivalent of above mentioned features in Ruby can be done in Haskell ... or the Haskell alternative for it.
The Haskell equivalent would be overloading, primarily via type classes.
See Lennart Augusston's BASIC for an example of this in the extreme:
http://augustss.blogspot.com/2009/02/more-basic-not-that-anybody-should-care...
That's BASIC syntax, in Haskell, relying on overloading numbers, strings etc. And all statically typed.
For a survey of some of the more recent EDSLs in Haskell, see this brief overview,
http://www.galois.com/~dons/papers/stewart-2009-edsls.pdfhttp://www.galois.com/%7Edons/papers/stewart-2009-edsls.pdf
-- Don
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
--