[Haskell-cafe] DSL in Haskell

Henk-Jan van Tuyl hjgtuyl at chello.nl
Mon Nov 16 17:05:43 EST 2009


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  
<dmehrtash at gmail.com> wrote:

> 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 <ck_kashyap at yahoo.com> 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 <dons at galois.com>
>> *To:* CK Kashyap <ck_kashyap at yahoo.com>
>> *Cc:* haskell-cafe at haskell.org
>> *Sent:* Mon, November 16, 2009 12:57:54 AM
>> *Subject:* Re: [Haskell-cafe] DSL in Haskell
>>
>> ck_kashyap:
>> > 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  
>> possible
>> > 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
>> 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.html
>>
>> 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.pdf<http://www.galois.com/%7Edons/papers/stewart-2009-edsls.pdf>
>>
>> -- Don
>>
>>
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>
>>


-- 


More information about the Haskell-Cafe mailing list