DeRailed DSL (was Re: compile-time regex redux)

kris foo at bar.com
Fri Feb 9 20:12:57 PST 2007


Andrei Alexandrescu (See Website For Email) wrote:
>>> I think there is a lot of apprehension and misunderstanding 
>>> surrounding what metacode is able and supposed to do or simplify. 
>>> Please, let's focus on understanding _before_ forming an opinion.
>>
>>
>> If that's the case, then perhaps it's due to a lack of solid & 
>> practical examples for people to examine? There's been at least two 
>> requests recently for an example of how this could help DeRailed in a 
>> truly practical sense, yet both of those requests appear to have been 
>> ignored thus far.
>>
>> I suspect that such practical examples would help everyone understand 
>> since, as you suggest, there appears to be "differences" in 
>> perspective? Since Walter brough RoR up, and you apparently endorsed 
>> his point, perhaps one of you might enlighten us via those relevant 
>> examples?
>>
>> There's a request in the original post on "The DeRailed Challenge" for 
>> just such an example ... don't feel overtly obliged; but it might do 
>> something to offset the misunderstanding you believe is prevalent.
> 
> 
> I saw the request. My problem is that I don't know much about DeRailed, 
> and that I don't have time to invest in it. 

You wrote (in the past):
====
I think things would be better if we had better libraries and some 
success stories.
====

We have better libraries now. And we're /trying/ to build a particular 
success story. Is that not enough reason to illustrate some practical 
examples, busy though you are? I mean, /we're/ putting in a lot of 
effort, regardless of how busy our personal lives may be. All we're 
asking for are some practical and relevant examples as to why advanced 
DSL support in D will assist us so much.


> My current understanding is 
> that DeRailed's approach is basically dynamic, a domain that 
> metaprogramming can help somewhat, but not a lot. The simplest example 
> is to define variant types (probably they are already there) using 
> templates. Also possibly there are some code generation aspects (e.g. 
> for various platforms), which I understand RoR does a lot, that could be 
> solved using metacode.

I read "Possibly there ... Could be solved ..."

Forgive me, Andrei, but that really does not assist in comprehending 
what it is that you say we fail to understand. Surely you would agree? 
Variant types can easily be handled by templates today, but without an 
example it's hard to tell if that's what you were referring to.

On Feb 7th, you wrote (in reference to the DSL discourse):
=====
Walter gave another good case study: Ruby on Rails. The success of Ruby
on Rails has a lot to do with its ability to express abstractions that
were a complete mess to deal with in concreteland.
====

On Feb 7th, Walter wrote (emphasis added):
=====
Good question. The simple answer is look what Ruby on Rails did for 
Ruby. Ruby's a good language, but the killer app for it was RoR. RoR is 
what drove adoption of Ruby through the roof. /Enabling ways for 
sophisticated DSLs to interoperate with D will enable such applications/
=====

You see that subtle but important reference to RoR and DSL in the above? 
What we're asking for is that one of you explain just exactly what is 
/meant/ by that. DeRailed faces many of the same issues RoR did, so some 
relevant examples pertaining to the RoR claim may well assist DeRailed.

Do we have to get down on our knees and beg?

~ Kris



More information about the Digitalmars-d mailing list