Boost logo

Boost :

Subject: Re: [boost] [GSOC] Mentors for a C++11 TMP-related project
From: Larry Evans (cppljevans_at_[hidden])
Date: 2014-03-09 12:43:32


On 03/08/14 10:58, Louis Dionne wrote:
> Hi,
>
> I am a student considering to apply for GSOC 2014.
>
> Short story
> ===========
> I would like to know if someone is interested to mentor a project
> whose aim is boldly to:
> - Document the current state of the art in C++11 template metaprogramming.
> - Propose modifications to the current Boost.MPL or perhaps write a TMP
> library as a successor to the MPL.
>
> Full story
> ==========
> I have been working on a C++11 TMP library[1] for a while now, and I will
> present the state of my work at C++Now 2014. In the process of writing
> the library, I experiment with several TMP techniques, which I document
> and benchmark. The goal is to propose a new library that improves over
> the current MPL in a measurable way (i.e. it's not just my preference).
> That library could be seen as a C++11 successor to the MPL and new
> code could use that instead of the MPL.
>
> Now, while I expect the library to be fairly advanced by the beginning of
> the summer, there will certainly be criticism when I present it publicly.
> I see two possibilities here:
>
> (1) Input is negative enough that the idea to propose it is dropped. In that
> case, I could work on improvements to the current MPL during the summer.
> The kind of improvements I'm talking about range from documentation to
> bugfixes to support for C++11 when available.
>
> (2) Input is generally positive and the library is proposed circa the
> beginning of the summer. If the library is refused, then I'm back to (1).
> Otherwise, I can work on improvements and modifications required for the
> library to officially make it in.
>
> In both cases, the scope of the project seems reasonable to me.
>
> There is nothing similar in the list of proposed GSOC projects, so if
> someone is interested in mentoring this project, please speak up. I
> will then go through the normal process for proposing GSOC projects
> and include a more detailed description of it, and we'll see what happens.
>
>
> Regards,
>
> Louis Dionne
>
> [1]: http://github.com/ldionne/mpl11
>
>
Do you have the results of the benchmark:

https://github.com/ldionne/mpl11/blob/master/benchmark/foldl.rb

?

One problem with template metaprograms is the large compile times.
The boost preprocessing library was used to alleviate this problem.
The foldl.rb benchmark, IIUC, compares various techniques, including
the existing boost::mpl technique. I sure others would be interested
in seeing this comparison.

BTW, one template metafunction class in that benchmark was the until
template. I'd consider adding this to the library. OTOH, the while_
metafunction here:

http://svn.boost.org/svn/boost/sandbox/variadic_templates/boost/mpl/while.hpp

*might* be more general because it more closely resembles the
recursive definition of a while statement:

   while B do S == if B then (S; while B do S) else skip

found here:

 
http://spivey.oriel.ox.ac.uk/corner/Semantics_of_while_loops_%28Programming_Languages%29

>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk