Boost logo

Boost :

From: David B. Held (dheld_at_[hidden])
Date: 2004-04-07 05:24:18

"Gennadiy Rozental" <gennadiy.rozental_at_[hidden]> wrote in message
> [...]
> As well as any other class/struct/union. Does it make all c++ entities
> 'functional'?

In a trivial sense at the metaprogramming level, yes. But really, if
all you had were classes and enums and the builtins, you would have
a pretty poor functional language, because you would have no flow
control. That's why templates make things interesting.

> [...]
> This is not nesserary good thing. I would prefer to be able to use
> imperetive style in metaprogramming.

Really? You would want mutable types? So suppose I define a
class type, and then you use it in one place, and I redefine it later,
and you use it again? Does the fact that the ODR is broken bother

> [...]
> In this sence definition "int const" is also 'functional'. It take type
> int and 'produces' different type int const.

Yup. You could think of "const" as a functional "meta-operator".
In that sense, you could say that C99 "supports metaprogramming". ;)
But again, without flow control, it's a very poor man's functional
language indeed.

> > [...]
> > > Toy is something kids play with, Tool is something adults use
> > > to do a real job.
> > > [...]
> >
> > I think this is a pretty unprofessional way to make your point.
> If you think so. I was just used analogies you introduced.

I didn't refer to anyone's work as a toy. Rather, I was making the
claim that a paradigm was *not* a toy. That's neutral. Calling
FC++ a toy, and then saying that "kids play with toys" implies
that anyone who uses FC++ is "a kid". That's insulting. Or was
that a backhanded compliment that I didn't understand?


Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
Version: 6.0.581 / Virus Database: 368 - Release Date: 2/9/2004

Boost list run by bdawes at, gregod at, cpdaniel at, john at