View mode: basic / threaded / horizontal-split · Log in · Help
September 02, 2009
Re: OT: What's your favorite codeline?
Wed, 02 Sep 2009 10:28:58 +0200, downs thusly wrote:

> Robert Fraser wrote:
>> downs wrote:
>>> <downs>     foo.betweens("src=\"", "\"") /select/ (string s) { return
>>> s.find(criteria) != -1; }
>> 
>> Heh, I love that infix expression syntax. Too abd it ends up with a
>> completely useless wrapper struct & 2 function calls, but hopefully LDC
>> can inline that out.
>> 
>> 
> I'm 90% sure it can.
> 
> [update] Actually, I just tried and LDC compiles a simple /select/ test
> to plain, inlined code. [update2] GDC doesn't.
> [update3] For that matter, neither does DMD.
> 
> LDC is really shaping up to be the best D compiler out there. It already
> is on Unix (imho). Now if only they can get win32 exception support to
> work ..
> 
>>> <downs>     auto videocon =
>>> ctx.getStreams().first(WHERE!("?.codec.codec_type ==
>>> CodecType.Video")).codec;
>> 
>> Heh, going LINQ on us, now?
> 
> I _was_ thinking of that :) Could have used ex!() but WHERE is a little
> denser.
> 
> (for comparison: ex!("c -> c.codec.codec_type == CodecType.Video") )

This is impressive. You acknowledge that the functional representation is 
so much better that you actually implement its compiler with the 
metaprogramming facilities. Imagine, in future, you can just write, mixin 
compile("SML", ` some code ... `); and all your problems are solved. It's 
a shame the built-in syntax looks like this crap

 (T)(T c){ return c; }

instead of this

 c -> c
Next ›   Last »
1 2
Top | Discussion index | About this forum | D home