Boost logo

Boost :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-03-02 09:40:44


David Abrahams wrote:
> Vladimir Prus <ghost_at_[hidden]> writes:
> > I was rather exited about FP some years ago when I first exposed to the
> > concept. I've experimented for some time, and now I'm not as excited.
> > While
> >
> > max_element(my_namespace::transform(some_container, functor));
> >
> > does save some typing, it might negatively affect compile time. And if
> > 'functor' is tryly polymorphic (i.e. has templated operator()), you can
> > get the the point when all the application is one big translation unit
> > full of templates.
>
> You say that like it's a *bad* thing.

Sometimes it is. I really wish my compile times were smaller.

> Seriously, what do you think a Spirit parser is? There are domains
> for which it's appropriate/effective to use a "library that thinks
> it's a compiler" (c.f. http://oonumerics.org/blitz/)

I agree such domains exist. And Blitz is one example -- where the point is the
get maximum performance with resonable syntax. But I'm not sure where FC++
can be beneficially used, given that my project takes 5 mins to compile and I
don't want to wait that long every single time.

Is FC++ usefull for performance critical parts -- I don't see any reason for
that? Or for complex algorithmic parts? Or for what? To put it really simple,
all I know about FP in general is that one article shows very nice way to
compute derivatives using lazy lists, and than transposing a matrix is
terribly complex (and probably terrible slow). That's not enough information
to decide when to use FP.

- Volodya


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