|
Boost : |
From: Dave Gomboc (dave_at_[hidden])
Date: 2005-03-15 13:10:41
> Rejection is not permanent. If a library has flaws and they
> are substantial enough then it should be rejected so that
> when changed, it can be reviewed again.
>
> I would like to see a state chart lib in boost but not as it
> currently stands. I would not mind if it was accepted as
> *beta* which would tell users that it has caveats.
Given that the author has already had almost an entire year's notice
on this issue, I think giving the current library some sort of
"beta" status would be a mistake. This issue won't be resolved one
way or the other until
a) the review manager ignores the entirely reasonable expectation of
constant-time state dispatch, and accepts the library into Boost
anyway, or
b) the existing code is changed to support constant-time dispatch,
perhaps under certain constraints (e.g. when one doesn't use certain
features), or
c) code is added to the library that converts the specified machine
during compilation into something that dispatches in O(1) (e.g. by
an algorithm that converts M: S* x T -> S* into M': S' x T' -> S).
If c) is the route chosen, whether to invoke this procedure could be
made selectable by the user so that one can choose between
a) minimizing compile-time (and minimizing risk of encountering
compiler limitations, if such a risk exists), and
b) maxmizing the performance (and optionally, minimizing the memory
footprint) of the state machine at runtime.
Dave
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk