Boost logo

Boost :

From: Gabriel Dos Reis (Gabriel.Dos-Reis_at_[hidden])
Date: 2000-01-04 20:22:24


jsiek_at_[hidden] writes:

[...]

| > Since this is such a well catered-for area of programming these might be
| > sufficient.
| >
| > If boost does consider it a worthy addition maybe the author of one of these
| > packages might be interested in joining boost and contributing their
| > software for comments etc (I know Bob Tisdale is quite vocal and helpful
| > regarding SVMT and appears interested in providing it as a C++
| > 'pseudo-standard' API ref: http://www.netwood.net/~edwin/svmt/#proposal )
|
| I would *not* suggest SVMT as a model for a boost linear algebra
| library, as it is not a good example of modern C++ design.

Funny you should say that. I think we're on a violent agreement here.

| ... I would
| also *not* suggest TNT and ESI for the same reason. SL++ is quite a
| bit better, but it is GPL.

Well, SL++ is no longer actively developped (for adminstrative
reasons); and I now, retrospectvely, wish some design decisions were
made differently.

| ... MTL is also quite good ;) but it is not
| free for commercial use.

I'd put MTL at the same level as SL++ :-)

| Perhaps a worthwhile initial endeavor would be to look at defining a
| *generic* interface for matrices and vectors (as we have started to do
| with graphs).

A gigantesc job...

| ... It would definitely be desirable to cooperate with
| people in the numerical community on this, though that community has
| traditionally held widely varying views, so it may be difficult,

Indeed.

| especially since many have not yet bought into the C++ techniques
| necessary to do a generic interface right. However, there are several
| groups that do understand generic programming.

Generic programming is one thing. Programming in C++ with templates
is another. Usually, you have to 'fight' against C++ to get it right,
because there lacks some full generic programming support
(e.g. typeof()).

Getting the traditional numerical computing community to use C++
already takes courage. Getting them to use *effectively* templates in
C++ is harder. Neverteless, it might be an interesting project.

| One BIG question would be whether to use operator overloading in the
| interface.

Not for the 'core' functions.

Overloaded operators might be proposed as additional syntactic sugar.

| ... This has serious repercussions in performance and
| implementation complexity.

Yup.

-- Gaby


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