
I am not sure what that mean. What is 'functional' in basic_string class template? May be we just need to define terms.
The fact that you can't change the template, just like all templates in C++.
As well as any other class/struct/union. Does it make all c++ entities 'functional'?
It is immutable, so metafunctions are strictly pure functions.
This is not nesserary good thing. I would prefer to be able to use imperetive style in metaprogramming.
Of course, basic_string doesn't perform a very interesting computation as a template, which is why it doesn't look very functional to you. But in fact, it does perform a computation. It takes a character type as input and produces a string type as output. You cannot change the input character type into the string type, which is part of why the template is functional.
In this sence definition "int const" is also 'functional'. It take type int and 'produces' different type int const.
[...] From that stand point I believed in my review (still do) that FC++ is just a toy not a Tool.
I wasn't talking about FC++ in particular here, but rather FP in C++.
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.
Dave
Gennadiy.