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

kris foo at bar.com
Fri Feb 9 23:30:25 PST 2007


Andrei Alexandrescu (See Website For Email) wrote:
> kris wrote:
> 
>> Andrei Alexandrescu (See Website For Email) wrote:
>>
>>> kris wrote:
>>>
>>>> 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?
>>>
>>>
>>>
>>> Aw, give me a break.
>>>
>>> Andrei
>>
>>
>>
>> Hrm ...
>>
>> Perhaps it should be pointed out that some of us are going to great 
>> personal expense and effort to further D in the marketplace. Because 
>> of that, what you read above is both a sincere and honest effort to 
>> elicit concrete assistance based upon relevant claims made (above).
>>
>> Your response is not quite as helpful as it might be; but then it 
>> would appear to have been intended for other effect? What we really 
>> need is some assistance instead.
>>
>> Thank you;
>>
>> - Kris
> 
> 
> This is Kafkian, pure and simple.
> 
> What am I supposed to reply to this, that I took a 4x cut in pay to do 
> 4x more work in grad school and that therefore I must be helped? Am I to 
> be construed into a bad guy because I don't have the time or the 
> inclination to look into your favorite project? If I don't learn RoR and 
> DeRailed and consequently fail to produce evidence that code generation 
> will help DeRailed, will that serve as proof that code generation is 
> good for nothing? Will I be sued? Will Judge Judy prosecute me on TV? I 
> didn't self-righteously ask how DeRailed can help me with the machine 
> learning and natural language processing problems that I'm tackling.


What we're asking for, Andrei, is very simple. We're asking (ad nauseam) 
for you to provide examples of how DSL can assist in the RoR style 
environment. The one yourself and Walter have referred to.

You've chosen to explicitly avoid doing that, and instead resort to 
twisting the subject matter around to something that suits your purpose. 
One could be entirely forgiven for concluding that you have *no* 
concrete examples, and that all this talk about DSL in the context of 
RoR (inititated by Walter and backed by yourself) is nothing but empty 
rhetoric and/or hand-waving. That conclusion would be more than just a 
little disappointing, so I certainly hope it is not the case?


> Listen. I think it's great that you work on a project that you like, and 
> I truly hope it will be successful, and that you will have all the fun 
> in the process. As of me, I already spend too much time deciding what 
> _not_ to do, so fulfilling someone else's sense of entitlement is hardly 
> high on my list. I'm doing my best to participate to this community and 
> to discuss things that I find interesting, with whatever arguments I'm 
> capable of coming with. Just like the next guy. Please allow me to 
> continue this. Thanks.
> 
> 
> Good luck,
> 
> Andrei

Since you bring it up, working on DeRailed is hardly on the top of my 
list of exciting and/or interesting projects. However, it is an area I 
have experience in and it seems like a good platform to further D in the 
market. Like you, I have rather limited time for this, yet put aside 
many other important things in my personal life to make this happen; 
have done for several years now. I don't go parading that particular 
fact, but you bring it up and it seems you feel many particpants here 
have nothing better to do.

Thus, it's hard to see your approach here as a furtherment of D in any 
manner. It would seem you're not helping D, yourself, or anyone else by 
refusing to help us understand the very concepts that you accuse us of 
not comprehending. I can't think of a higher form of arrogance.

Perhaps you can rectify that?

- Kris




More information about the Digitalmars-d mailing list