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

Kyle Furlong kylefurlong at gmail.com
Sat Feb 10 01:15:25 PST 2007


Andrei Alexandrescu (See Website For Email) wrote:
> Kyle Furlong 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
>>
>> <rant>
>>
>> Have you even looked at Tango? Have you seen the amount of effort that 
>> the team has put in? Do you understand what it means for the success 
>> of D as a real world language?
>>
>> Do you realize that over the past week, you've been repeatedly 
>> ignoring and belittling one of the most code productive and prolific 
>> library writers in the D community?
>>
>> Do you understand that he has real life issues with the way D is 
>> specified and implemented that affect the most coherent library effort 
>> we have, of which he is (along with Sean Kelly) the primary code 
>> contributor?
>>
>> Do you comprehend that as you seem to have the ear of Walter in 
>> language design decisions, kris necessarily must come to you to try 
>> and understand said decisions?
>>
>> For Bob's sake, have some respect for who this man is. Try and be open 
>> minded about his concerns.
>>
>> If you are interested in D being a language that can solve problems 
>> for "practical" people, start listening to kris, and stop using D as 
>> your personal vehicle for language research.
>>
>> </rant>
> 
> Great. There is nothing personal ever, just in case that's not clear, 
> nor I meant disrespect to anyone. As a rule, on the Usenet I reply "ad 
> postum", not "ad hominem". If there were a newsreader feature to hide 
> names, I'd think of using it, if it weren't for losing much of the sense 
> of social dynamics.
> 
> For the record, I'm not doing language research, officially or not. So 
> much about presuppositions. :o|
> 
>> All that aside, I do respect you for the contributions I know you have 
>> made in C++ land and here in D land. I hope you continue to enjoy D 
>> and contribute your considerable help in its design.
>>
>> However, I do believe that you should take a step back and realize the 
>> context in which you are discussing.
> 
> If one doesn't like a post, is one allowed to not reply to it?
> 
> 
> Andrei

Clearly you haven't understood my intention. I propose to you that such 
an "anonymous" newsreader would be a terrible thing. As much as you 
would like it, human context DOES have a role in any discussion.

For example, the fact that you are continuing to ignore, which is that 
kris is not just some guy with an idea of where D should go, as I've 
already outlined.

If you simply reply to his posts with the idea that you are having an 
abstract argument about the ideals of creating a language, you will fail 
to address any of his real issues.

Even if it were the case that you ignore all personality, you still have 
the monumental arrogance to presume that you do not have to supply 
evidence for your assertions.

I understand that you are a successful computer scientist. I accept that 
you have had success with some books on the subject. I respect that you 
currently research in the field. None of this allows you the freedoms 
you have taken in the discussions you have been having.




More information about the Digitalmars-d mailing list