$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Douglas Gregor (gregod_at_[hidden])
Date: 2002-08-29 17:31:38
Aleksey Gurtovoy's template metaprogramming library (MPL) has been accepted 
into Boost. Congratulations to Aleksey and thank you to the many reviewers. 
The vast majority of reviewers voted for acceptance; a summary of reviewer 
requests and comments is given below. 
[Design]
* The iterator abstraction debate was never fully resolved. The iterator 
abstraction (that separates MPL algorithms from MPL containers via iterators, 
as in the STL) is central to the design of MPL. However, there is dissention 
regarding the necessity of this abstraction within the template 
metaprogramming domain, and the discussion persists because nobody has been 
able to identify a clear-cut example where a static data structure other than 
a simple typelist is required. The concensus here appears to be that MPL 
should not be delayed because of this question, but that additional 
experience with MPL will show whether the iterator abstract is useful or not.
[Terminology]
* Metafunction class vs. metafunctor vs. quoted Metafunction vs ...: Aleksey 
was counting votes on the naming of this entity.
* select_if vs. if_
[Documentation]
* Clarify the roles of the various placeholders (_ vs. _1, _2, etc.)
* Incomplete reference documentation. Ron Garcia posted a list here (some of 
the items posted have since been documented):
  http://aspn.activestate.com/ASPN/Mail/Message/1288208
[Stability]
* Interface changes in MPL left the MPL paper out of sync with the library 
(e.g., interface to iter_fold and several other algorithms). The MPL paper 
should be updated if it is to serve as an introduction to the library. [This 
may have already been resolved]
* Ron Garcia also pointed to parts of MPL that are not tested by the 
testsuite. The list is here:
  http://aspn.activestate.com/ASPN/Mail/Message/1288208
* Some algorithms are broken for empty sequences (e.g., copy) [May already be 
resolved]
* insert/insert_range broken [May already be resolved]
* push_back for vector?
[Requested Additions]
* is_sequence has been requested to determine if a type T is a sequence [Eric 
Friedman]
* an associative container (e.g., mpl::map) [Tom Wenisch]
Thanks again to Aleksey and all of the reviewers, and my apologies for the 
delay in posting the review results.
        Doug Gregor
        gregod_at_[hidden]
        Review Manager, MPL