Boost logo

Boost :

From: Andy Little (andy_at_[hidden])
Date: 2004-02-21 19:11:49

"Gabriel Dos Reis" <gdr_at_[hidden]> wrote in message
> "Andy Little" <andy_at_[hidden]> writes:


> I usually describe that as "a long list of special cases", but I would
> not go that far saying that there is no overall vision of the concept
> behind why certain rules apply in a given context. Each time I've
> asked why certain rules don't apply, I think I've got an answer as to
> why.

It would be nice to have the vision explained... close by the C++ standard.
(D&E is out of date. ARM is out of date) The standard is merely a collection
of bits and pieces. Re your posts on comp.lang. One needs some didactics to
point at students. "This is the concept behind this rule in this context"
etc. Or this is the special case we are stuck with because the concept here
has not been officially stated/confused.

> But, there are situations where general rules are prevalent.
> It looks to me that this issue of members hide enclosing
> template-parameters is one where a general rule applies.

As I understand it currently base class names hide template parameter names.
The problem with this is that it sees names in terms of parsing a grammar.
"nested scopes" sees all scopes equal... takes no account of the concept
'What is a template all about'. 'What is a function body scope all about',
'what is a function parameter scope all about'. Each scope has a different
character.C++ is a much richer language than to be constrained by dead
grammar. Bjarne Stroustrup has commented on this in D&E.


> I see now what you meant. Thanks for taking the time to clarify.
> Your picture leave out whether you consider nesting of scopes or not.

I have attempted to answer this on comp lang. Some scopes nest .... some
dont. Each has its own character. There is a reason for that. Which is that
C++ has tried to provide an intuitive language, one that feels write to the
programmer. C++ reflects real world complexity. C++ has alway done things
the hard way. I hope that concepts are the next major development. They
really do ' feel right' to me for C++ :-)

Andy Little

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