Re: [Haskell-cafe] What *is* a DSL?

2009-10-28 Thread S. Doaitse Swierstra
On 22 okt 2009, at 15:56, Robert Atkey wrote: Previously parsed input /can/ determine what the parser will accept in the future (as pointed out by Peter Ljunglöf in his licentiate thesis). Consider the following grammar for the context-sensitive language {aⁿbⁿcⁿ| n ∈ ℕ}: Yes,

Re: [Haskell-cafe] What *is* a DSL?

2009-10-27 Thread Nils Anders Danielsson
On 2009-10-22 14:56, Robert Atkey wrote: Yes, it might have been that, OTOH I'm sure I saw it in some Haskell code. Maybe I was imagining it. There is some related Haskell code in the Agda repository. Do you know of a characterisation of what languages having a possibly infinite amount of

Re: [Haskell-cafe] What *is* a DSL?

2009-10-22 Thread Robert Atkey
On Tue, 2009-10-13 at 13:28 +0100, Nils Anders Danielsson wrote: On 2009-10-07 17:29, Robert Atkey wrote: A deep embedding of a parsing DSL (really a context-sensitive grammar DSL) would look something like the following. I think I saw something like this in the Agda2 code somewhere, but I

Re: [Haskell-cafe] What *is* a DSL?

2009-10-13 Thread Nils Anders Danielsson
On 2009-10-07 17:29, Robert Atkey wrote: A deep embedding of a parsing DSL (really a context-sensitive grammar DSL) would look something like the following. I think I saw something like this in the Agda2 code somewhere, but I stumbled across it when I was trying to work out what free applicative

Re: [Haskell-cafe] What *is* a DSL?

2009-10-12 Thread Sjoerd Visscher
Hi Bob, I tried to understand this by applying what you said here to your deep embedding of a parsing DSL. But I can't figure out how to do that. What things become the type class T? greetings, Sjoerd On Oct 7, 2009, at 9:18 PM, Robert Atkey wrote: What is a DSL? How about this as a

Re: [Haskell-cafe] What *is* a DSL?

2009-10-12 Thread Robert Atkey
On Mon, 2009-10-12 at 15:49 +0200, Sjoerd Visscher wrote: Hi Bob, I tried to understand this by applying what you said here to your deep embedding of a parsing DSL. But I can't figure out how to do that. What things become the type class T? Here's the API version of the grammar DSL:

Re: [Haskell-cafe] What *is* a DSL?

2009-10-09 Thread Gregg Reynolds
On Thu, Oct 8, 2009 at 6:08 AM, Colin Paul Adams co...@colina.demon.co.ukwrote: George == George Pollard por...@porg.es writes: George I'd also like to note that the canonical pronunciation of George DSL ends in -izzle. Whose canon? Interestingly, I have always assumed the

Re: [Haskell-cafe] What *is* a DSL?

2009-10-09 Thread Colin Paul Adams
Gregg == Gregg Reynolds d...@mobileink.com writes: Gregg On Thu, Oct 8, 2009 at 6:08 AM, Colin Paul Adams Gregg co...@colina.demon.co.ukwrote: George == George Pollard por...@porg.es writes: George I'd also like to note that the canonical pronunciation of George DSL ends

[Haskell-cafe] What *is* a DSL?

2009-10-08 Thread oleg
Perhaps it would be appropriate to point out the IFIP conference on exactly that topic, DSL. The conference took place in July, here is the permanent record: http://dsl09.blogspot.com/ with pointers to the slides and the discussions. The panel discussion has debated that very question,

Re: [Haskell-cafe] What *is* a DSL?

2009-10-08 Thread George Pollard
I'd also like to note that the canonical pronunciation of DSL ends in -izzle. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Re: [Haskell-cafe] What *is* a DSL?

2009-10-08 Thread Colin Paul Adams
George == George Pollard por...@porg.es writes: George I'd also like to note that the canonical pronunciation of George DSL ends in -izzle. Whose canon? Interestingly, I have always assumed the canonical pronunciation of DSSSL was diesel, as JADE stands for JAmes's DSSSL Engine. I

[Haskell-cafe] What *is* a DSL?

2009-10-07 Thread Günther Schmidt
quite a lot of stuff that is labeled as DSL, I mean for example packages on hackage, quite useuful ones too, where I don't see the split of assembling an expression tree from evaluating it, to me that seems more like combinator libraries. Thus: What is a DSL? Günther

Re: [Haskell-cafe] What *is* a DSL?

2009-10-07 Thread Emil Axelsson
is? Because out there I see quite a lot of stuff that is labeled as DSL, I mean for example packages on hackage, quite useuful ones too, where I don't see the split of assembling an expression tree from evaluating it, to me that seems more like combinator libraries. Thus: What is a DSL

Re: [Haskell-cafe] What *is* a DSL?

2009-10-07 Thread Joe Fredette
ones too, where I don't see the split of assembling an expression tree from evaluating it, to me that seems more like combinator libraries. Thus: What is a DSL? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org

Re: [Haskell-cafe] What *is* a DSL?

2009-10-07 Thread Günther Schmidt
Hi Emil, now that is an interpretation I could live with! Glad I posted the question. Günther Am 07.10.2009, 17:24 Uhr, schrieb Emil Axelsson e...@chalmers.se: Hi, A DSL is just a domain-specific language. It doesn't imply any specific implementation technique. An *embedded* DSL is a

Re: [Haskell-cafe] What *is* a DSL?

2009-10-07 Thread Joe Fredette
evaluating it, to me that seems more like combinator libraries. Thus: What is a DSL? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Re: [Haskell-cafe] What *is* a DSL?

2009-10-07 Thread Günther Schmidt
Hi Joe Am 07.10.2009, 17:26 Uhr, schrieb Joe Fredette jfred...@gmail.com: Let me add to this, as I've used the term DSL without (*gasp*) fully understanding it before. Welcome to the club then! :) In addition to What is a DSL, I'd like to ask: How is a DSL different from an API? -- in

Re: [Haskell-cafe] What *is* a DSL?

2009-10-07 Thread minh thu
is? Because out there I see quite a lot of stuff that is labeled as DSL, I mean for example packages on hackage, quite useuful ones too, where I don't see the split of assembling an expression tree from evaluating it, to me that seems more like combinator libraries. Thus: What is a DSL? Günther

Re: [Haskell-cafe] What *is* a DSL?

2009-10-07 Thread Robert Atkey
On Wed, 2009-10-07 at 11:32 -0400, Joe Fredette wrote: So, if I understand this: Parsec is a DSL, I'm going to venture it's a Deep embedding -- I don't understand the internals, but if I were to build something like Parsec, I would probably build up a Parser datastructure and then

Re: [Haskell-cafe] What *is* a DSL?

2009-10-07 Thread Dan Piponi
2009/10/7 Joe Fredette jfred...@gmail.com: Let me add to this, as I've used the term DSL without (*gasp*) fully understanding it before. In addition to What is a DSL, I'd like to ask: How is a DSL different from an API? I don't think there is a sharp divide here. A nice example was given by

Re: [Haskell-cafe] What *is* a DSL?

2009-10-07 Thread Günther Schmidt
Hi Don, I've informally argued that a true DSL -- separate from a good API -- should have semantic characteristics of a language: binding forms, control structures, abstraction, composition. Some have type systems. That is one requirement that confuses me, abstraction. I thought of DSLs as

Re: [Haskell-cafe] What *is* a DSL?

2009-10-07 Thread Robert Atkey
What is a DSL? How about this as a formal-ish definition, for at least a pretty big class of DSLs: A DSL is an algebraic theory in the sense of universal algebra. I.e. it is an API of a specific form, which consists of: a) a collection of abstract types, the carriers. Need not all be of

Re: [Haskell-cafe] What *is* a DSL?

2009-10-07 Thread Creighton Hogg
2009/10/7 Robert Atkey bob.at...@ed.ac.uk: What is a DSL? How about this as a formal-ish definition, for at least a pretty big class of DSLs: A DSL is an algebraic theory in the sense of universal algebra. I.e. it is an API of a specific form, which consists of:  a) a collection of