From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-07-22 08:17:51
From: "Vladimir Prus" <ghost_at_[hidden]>
> David Abrahams wrote:
> > My Jam-language implementation of classes was never inteded to be used
> > generalized replacement for built-in Jam lists. It was just designed to
> > a mechanism for improving code organization.
> > I don't think there's any way you can start using "container classes"
> > the primary data structure in lieu of Jam lists and expect reasonable
> > performance.
> So, do you mean that container.vector is just useless?
No, but I wouldn't expect it to function as a general replacement for
> That would be very sad
> -- in particular, I already need to compare lists of lists/or lists of
> targets and that would be *very* hard with jam lists.
You can do what I did in v1: join the inner lists into single strings with
some separator character. Hmm, newline would be an interesting choice ;-)
> Further, we have a *lot* of other places where classes are used. For
> each virtual target is a class. We'd have the same performance problem
> them -- finding the generator would require creating a lot of virtual
Yep, we're running up against the language limitations.
I sometimes wonder if Python packaged with something like py2exe would have
been acceptable for Boost.
Another thing you might consider for a list-of-lists structure would be
something that used two lists:
l1 = a b c 1 2 3 4 bananna orange ;
l2 = 1-3 4-7 8-9 ;
letters = l1[$(l2)] ;
numbers = l1[$(l2)] ;
fruit = l1[$(l2)] ;
As long as you build it in order and don't mutate it internally, it could
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk