Why Ruby?
Stephan Soller
stephan.soller at helionweb.de
Fri Dec 17 08:32:27 PST 2010
On 16.12.2010 23:33, Alex_Dovhal wrote:
> "Andrej Mitrovic"<andrej.mitrovich at gmail.com> wrote:
>> The cool thing about D is that with a little bit of string magic you
>> can make your own DSL's. Here's a rather hardcoded and superficial
>> example, but for this simple case it works:
>>
>> http://pastebin.com/Xkghv1ky
>>
>> Of course you'd need to build your own little DSL string parsing
>> functions and use regex instead of hardcoding it like that. But all
>> kinds of syntaxes are possible.
>
> You are right. I tried making one. It parses things like sum !(q{ i=0:10;
> i * sum!(q{ j=0:10, j!=i; i*j }) })
> http://pastebin.com/mQaKXaYY -
> But it doesn't work because not being CTFE friendly, and also syntax parser
> is ugly because I am not strong at syntax parsing.
> Note that creating good syntax parser in CTFE is rather hard, especially for
> complex syntaxes like of D expressions.
> Oh, if CTFE could:
> 1) run external process
> 2) do file i/o
> 3) use dynamic libraries
> This would be much much simpler, but I guess it will not.
> This features also has safety issues, but D is system language, not browser
> one.
>
>
I don't think that the syntax improvement of chaining is worth such an
effort. It adds tons of complexity for only a very limited gain. I'm not
sure if I could write such self-parsed code without thinking about that
pipeline.
More information about the Digitalmars-d
mailing list