On 2010-08-31 03:04, dsimcha wrote:
I've been toying for a long time with the idea of a std.mixins for Phobos that
would contain meta-implementations of commonly needed boilerplate code for
mixing into classes and and structs.  I've started to prototype it
(http://dsource.org/projects/scrapple/browser/trunk/std_mixins/std_mixins.d).
  So far I have a mixin for struct comparisons, which is useful if you need a
total ordering for use with sorting or binary trees, but don't care exactly
how that ordering is defined.  I've also got a mixin that converts a class to
a Singleton, and uses thread-safe but efficient mechanisms to deal with the
__gshared singleton case.

I'm also thinking of creating some mixins to allow cloning of arbitrarily
complicated object graphs, provided that you don't stray outside of SafeD.  Is
this worth implementing or will it likely be solved in some other way at some
point?

Right now I'd just like to milk the D community for ideas.  What other pieces
of boilerplate code do you find yourself writing often that the standard
library should help with?

How about adding a static opDispatch (or alias this) that will forward every method call to the "instance" method. This would allow code like this:

Foo.method; // shortcut for the line below
Foo.instance.method;

--
/Jacob Carlborg

Reply via email to