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.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk