[phobos] More tuple algorithms with std.meta
Andrei Alexandrescu
andrei at erdani.com
Sun Jan 2 17:43:38 PST 2011
I think this module has good potential. The code is surprisingly clean,
considering it does quite wacky stuff :o).
Shin, std.meta is big enough to need a formal review. That means you
need to clean up the code thoroughly, provide solid documentation and
examples, and mind the feedback you get from digitalmars.d. Refer to
http://www.boost.org/community/reviews.html for the model we want to
follow. I'll be glad to manage the review process.
Andrei
On 9/28/10 2:50 AM, Shin Fujishiro wrote:
> Philippe Sigaud<philippe.sigaud at gmail.com> wrote:
>> I'm willing to review your code. I also feel Phobos should showcase D
>> metaprogramming on types. At a minimum, filtering, reducing, scanning
>> (reduce with history), rotating and inverting tuples should be there.
>
> Thanks! Please note: D metaprogramming is not only on types, but also
> on symbols and compile-time constants - possibly combined with mixins.
>
> I mean, static tuple algorithms should be able to handle tuples composed
> of heterogeneous entities: types, symbols and/or constants. It will
> allow us to write something like follows in a short, functional style:
>
> Struct!(int, "x", double, "y")
> http://gist.github.com/600535
>
>
>> I decided to separate those acting on typetuple and those acting on
>> expression tuples / std.typecons.Tuple.
>> My code is here:
>>
>> http://www.dsource.org/projects/dranges/browser/trunk/dranges/typetuple.d
>> http://www.dsource.org/projects/dranges/browser/trunk/dranges/variadic.d
>> http://www.dsource.org/projects/dranges/browser/trunk/dranges/tuple.d
>>
>> If think most templates dealing with type tuples (or rather, template
>> arguments tuples) should go in std.typetuple.
>> Those acting on expression tuples could go in std.variadic.
>
> I did know them. ;-) I thought of proposing your templates if someone
> was interested in this topic. (dranges.templates is interesting, too.)
>
> As for the separation of typetuple and variadic... As I mentioned
> above, I think static tuple algorithms should be able to work with
> heterogeneous tuples. Limiting algorithms only on types is not a
> choice for me.
>
> But it does *not* mean I think the variadic is useless! Note that I'm
> talking about compile-time operation on template tuple parameters;
> std.variadic algorithms would be definitely useful in run-time code.
> variadicMap is especially a gem!
>
>
> Shin
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos
More information about the phobos
mailing list