Yes, that's literally correct, but the in-context implication that
`P_<Type>` is a different syntax is wrong.
It's still C++ syntax.
The compiler would not accept it if it were not.
Since it's a constrained use of C++ syntax you find it “completely
different” than purely C syntax, but that is at best a colored
associative perception.
That is, you /feel/ that limiting oneself to the C++ template syntax for
pointer declarations is “completely different”, but as a technical
statement that's incorrect misleading bollocks.
Confusing that feeling with technical fact is a fallacy.
> Constraining the syntax means rules like "only declare one identifier at
> a time." That would mean you can avoid several common (but not all)
> possible mixups and confusions with pointer declarations - since you can
> no longer write "int* a, b;", no one can wonder if you meant "b" to be a
> pointer also.
Yes, that's one thing `P_<Type>` does.
But from context you're implying that it does not.
That's a second fallacy, the assertion of a plainly incorrect “fact”.
> What you are doing with your "P_<Type>", and all your other macros and
> your library, is changing the appearance and nature of the language.
Yes, changing the /appearance/ to something simpler, is part of what one
does by systematically constraining one's use of features.
And that's what you've argued for yourself up-thread, still quoted in
this reply; “very helpful”, you wrote about it.
So, with the interpretation that for `P_` you refer to the declaration
simplifications as negative, while earlier, for use of more brittle
by-convention constraints you referred to it as positive, you're
contradicting yourself, a third fallacy.
Since you contradict yourself you are apparently failing to see that
you're doing it.
One common reason for such blindness, a blind zone regarding one's
self-contradictions about something, is that one is writing in a haze of
vision-defeating emotion.
> Now, I can agree that for some purposes, there are advantages. And if
> one were making a new programming language, a syntax like P_<Type> might
> be chosen instead of "Type*". But this group is about C++, not AC++
> written in Alf's own C++. It does not matter that the code is valid C++
> (ignoring the dollar sign) and the library is available online.
>
> What you write is akin to C programmers who start their code:
>
> #define R return
> #define G goto
> #define I int
>
> and then proceed to write their code in a way /they/ find clear but no
> one else likes.
This is a straw-man fallacious argument against use of the library I
sometimes choose to employ, a fourth fallacy.
Arguing against use of that library is itself a straw-man fallacious
argument against notation like `P_`. It's also a kind of fallacy called
a faulty or hasty generalization, two fallacies in one. But let's count
this as just one combined fifth fallacy.
The two fallacies above come on top of your three fallacies some
paragraphs earlier, i.e. five fallacies so far in just a few paragraphs,
which again indicates to me that you're writing in a haze of emotion — I
would presume with a main component that of belonging to a group — that
clouds and defeats your critical thinking.
> When you are writing your own code, and large scale projects where your
> library and style might have advantages, it is fair enough - anyone
> working on the code should be familiar with your system. When you are
> posting to a newsgroup for a wide audience who are not familiar with
> your library (some are barely familiar with C++), then it is important
> to write as simply and clearly, and in as common and standard a manner,
> as possible.
This is again incorrect in so many ways.
A main way that it's wrong: an argument against my use of a library is,
again, not valid as an argument against `P_` notation.
So, that single aspect of the wrongness is a sixth fallacy so far.
>> I think you meant that most everybody agrees that /adopting a
>> convention/ of a more constrained notation, instead of actually doing
>> what you wrote, “constraining it” (i.e. adding hard constraints, like
>> the `P_` notation and similar notations does).
>
> Your notation is not a constraint - not as other people understand the
> word.
Seventh fallacy.
> Please be careful with the word "constraint" until you agree on
> the meaning with other people - you'll just cause confusion, and cause
> arguments where people actually agree.
Eight fallacies.
This is like some text out of a lunatic asylum, just all
self-contradictions and fallacies.
But I believe you'll find support in this group, because (I presume)
that's the main driver, the group membership.
With emotions, rational thinking doesn't really apply.
However, how you landed on perceiving the group's view as coincident
with the vitriol spewed out by Mr. Fibble, is beyond me.
>> However, I generally don't agree with the idea of using mere
>> convention when it's possible and practical to express something in
>> the language and have it enforced by the compiler. In the same way, I
>> disagree with the common idea of explaining via comments things that
>> can be expressed in the code itself.
>>
>
> I think most will agree with that - but it is an entirely orthogonal
> point, and no one has been suggesting otherwise.
Ninth fallacy, in the denial area.