Why Ruby?

Alex_Dovhal alex_dovhal at yahoo.com
Thu Dec 16 14:33:31 PST 2010


"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. 




More information about the Digitalmars-d mailing list