I have had the pleasure of discussing this with the EWG in rapperswil. Unsurprisingly, while the proposed semantics can cover an extremely wide area of template parameter list manipulation using extremely terse syntax, the niche interest of a such a highly generic feature - that is mainly template meta-programming oriented - does not justify the effort required for implementing this as a language feature.
As the current draft argues, these semantics can be implemented using currently valid C++ constructs but the boilerplate required is non-trivial. People who have interest in template meta-programming techniques for code generating purposes - like me - may have interest on this, but that does not mean average user suitability.
I will pursue the library route as a separate project, related to template meta-programming despite its niche interest. I use that style with interesting results in another set of libraries. The draft will evolve and into a library implementation itself, unrelated to C++ standard purposes.
George
Extensive rewrite of abstract, removal of cruft, fixes #2, #5, #6. The abstract has been rewritten extensively in order to reflect the main syntactic properties of annotation as well as why this syntax has been selected as the most likely candidate in the introductory section. The initial and obviously boring examples of pattern matching through parameter patterns have been removed since the document can offer a much better alternative as to what vertical and horizontal expansion signify in a very succint manner within the abstract. This however is readily evident mostly to experts (e.g. boost.preprocessor users). The section on introduction partially addresses also issue #7, while within 2-3 paragraphs it is attempted to clarify that parameter pack processing features turn typelists into first-class citizens of within a template parameter list. Examples have been added for getting quickly acquainted with the full form of the annotation syntax (asides ternary annotation, which is NOT what you think it is). References to WG21 papers related to the need of pack processing features at the language level have been added. The subtle reference to monads is made through the citation of work by Sinkovic and Porkolab. Concepts are being hinted upon as being boosted by such semantics while not able to supplant pack processing features themselves. Ternary pack annotation is introduced and targeted for the generative aspects of pack processing but will be discussed later on. These last two (concepts and ternaries) are actively processed but the other sections have to be cleaned up or it is a big mess to tell the whole story.-
Pack[0]
gives you the first parameter), to avoid having to use recursion to iterate over the parameters in many cases."Reply: First, annotated parameter packs are not a proposal yet. They do not even have an N-number yet.
concepts do not cover these cases for the same reason fixed size packs do not cover them or can be supplanted by concepts;
Also there was not a vote casted nor it was asked for.
Finally, it is not a generalization of fixed parameter packs; it has fixed size parameter packs as a limit case scenario.
Also, they did not address at all or spawn the idea of indexed based type access in a parameter pack. This was already the case with Dave Abrahams' EWG issue #30
I report this for the sake of correctness in your references, trip report and respect to who has done prior work on this instead of spoored hearsay. I expect you to revise but that does not mean you will. I consider this just an unfortunate misunderstanding on your behalf.
I'm not sure why you object to the term "proposal". I used this term to describe several things that did not have N-numbered papers (such as expanding parameter packs as expressions, and throwing on stack exhaustion), as well as things that did.
concepts do not cover these cases for the same reason fixed size packs do not cover them or can be supplanted by concepts;
I said concepts cover "several" of the use cases, not all.
Also there was not a vote casted nor it was asked for.
I edited my post to mention this.
Finally, it is not a generalization of fixed parameter packs; it has fixed size parameter packs as a limit case scenario.
I don't see any inconsistency between saying "A is a generalization of B", and saying "B is a limit case of A". A rectangle can be thought of as a generalization of a square; it is equally valid to think of a square as a limit case for a rectangle.
Also, they did not address at all or spawn the idea of indexed based type access in a parameter pack. This was already the case with Dave Abrahams' EWG issue #30
I edited my post to say that fixed-size parameter packs "generated renewed interest" in indexed access to parameter packs, since it has been proposed previously.
I report this for the sake of correctness in your references, trip report and respect to who has done prior work on this instead of spoored hearsay. I expect you to revise but that does not mean you will. I consider this just an unfortunate misunderstanding on your behalf.
I revised my post as described. Hope any misunderstandings have been cleared.
It is equally unreasonable then for people who have not read it to pass judgment at lunchtime and the following day delegate issues strongly related to it (like EWG #30) to sponsored insiders. The "fixed size parameter packs" paper for example, was also not in the pre-meeting mailing list at http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/#mailing2014-05 and appears only at the post-rapperswil 2014 mailing list at http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/#mailing2014-07. Therefore using such an argument in your defense taints your claim due to unequal treatment.Some remarks: Well, it's unreasonable to expect people to have read a paper that did not appear in the pre-meeting mailing.
The meetings are not "supposed to be open". WG21 kindly welcomes visitors, but it has no obligation whatsoever to do so. As far as "unsponsored outsiders" go, the WG21 doesn't have to listen to anyone not listed in the ISO global directory as an NB-designated expert member.
I'm unaware of such "author rights". EWG can give guidance that completely changes the intended direction of a proposal, and it has given such guidance in the past.
Perhaps you should follow the processes, including paper submission processes, before accusing EWG of not following its own.
EWG doesn't play any role in providing N-numbers for proposals. They neither accept or deny the numbers. EWG handles language extension proposals that come in via the mailing, or via the issue list. You mentioned that you have not been given due acknowledgement in the EWG issue list; I will add a mention of this paper into issue 30, but there's no "due acknowledgement" that has been denied to you since you have submitted neither a proper proposal paper nor an actual issue.
It seems that you had quite different expectations about the process and the meeting than what the actual process is, to the point of having actual misconceptions about the process. All I can recommend is finishing your paper and trying again, possibly via a champion if you choose to not attend a meeting yourself.
> Why does the website does not say that one has to be NB member in
> order to be heard?
What is the purpose of the std-proposals mailing list?> How are people supposed to be discussing them?
This forum provides a way to solicit feedback on proposals from random
individuals
before taking such proposals to the committee. This forum is not part
of the official
N-paper submission process in any way.
>> Well, it's unreasonable to expect people to have read a paper that did notIf that's a concern for you, make sure people have time to read your
>> appear in the pre-meeting mailing.
>>
> It is equally unreasonable then for people who have not read it to pass
> judgment at lunchtime and the following day delegate issues strongly related
paper. If you
solicit feedback at the risk of people not having read your paper,
you'll get what
you'll get.
> to it (like EWG #30) to sponsored insiders. The "fixed size parameter packs"
"Sponsored insiders" as in volunteers willing to work further on the idea?
> without underlining these facts? As far as "unsponsored outsiders", meaning> people not working for particular employees and companies, it would be
> interesting to also study who "votes" for what, when, and for whom.
>> I'm unaware of such "author rights".
On Tue, Jul 22, 2014 at 11:14 AM, Ville Voutilainen <ville.vo...@gmail.com> wrote:
> Why does the website does not say that one has to be NB member in
> order to be heard?
Considering you are logical, you won't take a sufficient condition as
a necessary condition, right?
If that's a concern for you, make sure people have time to read your
paper. If you
solicit feedback at the risk of people not having read your paper,
you'll get what
you'll get.
+1. Given that we have a huge amount of work to do, and only a tiny amount of time and a tiny number of people to do it with, priority is given to those papers that are in a mailing and have a presenter to champion it. There are typically 100+ new papers (not to mention that earlier ones occasionally resurface) in the mailings for the committee to cover in a week, it is unreasonable to expect people to read a paper that was not in a mailing. One exception is sometimes papers get written at the meeting to address an issue which came up at the meeting, and that will usually get priority as well. We do try and accommodate anyone that is present, but if you want anything other than "first impressions", get your paper into a mailing and have someone present it.
> to it (like EWG #30) to sponsored insiders. The "fixed size parameter packs"
"Sponsored insiders" as in volunteers willing to work further on the idea?
I really have no idea what this insider vs. outsider nonsense is all about.
> without underlining these facts? As far as "unsponsored outsiders", meaning
> people not working for particular employees and companies, it would be
> interesting to also study who "votes" for what, when, and for whom.
If you want to join the committee and spend your time doing that, it'll be your time to waste. I'd rather spend my time making a better language.
>> I'm unaware of such "author rights".
There is the INCITS copyright policy at <http://www.incits.org/dotAsset/d1ac06e9-afdf-42a9-adf4-9f96f2fd4572.pdf>, which specifically says "without any duty to compensate or account to the original copyright owners".
Which part of that is problematic? The claim "without actually really evaluating it" is a very biased statement with which not everyone agrees. As to redelegating it to other members, EWG has every right to invite people to do further work.
If you are all so adamant about procedure, why didn't you follow it and allowed presentation? Why did you treat two different N-less papers unequally and now try to avoid replying to this fact? No pre-meeting email for either, no N-number, no company origin.Which part of the treatment exactly was unequal? The end result?
Will I be given an N-number or not once I submit this in its final form?Certainly.
Plain and fair. Prior work exists now. Emotionally engineering your way out of this, will not work. Let's play it fair for everybody guys, because you know some people haven't. Most likely due to lack of diligence.I fail to grasp what you mean by "emotional engineering", and I state that the claims of unfairness are bold.
I know what an accepted proposal is. It's a proposal that gets onto formal motions of a meeting and gets voted into a working draft. What other people report is beyond my control.
Since when parameter pack manipulation through language level features is based on non-technical grounds? Ludicrous and quite compromising the value of anything the EWG says from now on.I have no idea what this is referring to.
It is not a problem if you do not modify issue #30 it but you will be
submitting yourself to another non-sequitur which invalidates any authority or bodacious claim to "who is better who is worse". Fixed size packsI wasn't aware there was such a discussion ongoing.proposal passed EWG "expert review" while having ambiguous syntax that the author is to revise and not even covering the issue of individual access in his original "draft"; that speaks volumes about the EWG's expertise or tendency to succumb to unknown "factors". My incomplete draft was formed from purely technical arguments as to why pack annotation would resolve source code boilerplate generation problems, buggy-prone recursive instantiations and all the rest.Well, that doesn't seem to have been obvious to the set of people outside yourself.
You allowed at least 2 different N-less papers not in the pre-meeting mailing list to pass but treated unequally. And you are asking me what your problem is? I quote again what your problem is that no ad-hominem will resolve: "The EWG gave a language feature recommendation the next day for practically same thing and that is a factual blunder so unfortunate you cannot defend; that is why you are to partially amend your writing of the facts. This kind of makes the motivation of the initial "library recommendation" questionable and is your actual unsolvable problem."As I replied privately, I fail to see how it's "for practically same thing". It seems to me that EWG was for a language feature for a limited set of the functionality, and recommended a library solution for the more elaborate parts.
Not accepting to amend your transcription? You have just lost the argument, yet again by proving that you have a very unsolvable problem with this by going into non-sequitur; this is not just unusual for Ville, it isI don't know what transcription you're talking about. If it refers to the EWG issues list, that list includes a track record of papers and issue submissions. If you have an issue to submit, I will add it to the list. If you have a published N-paper that is not tracked by the list, I can certainly add the paper. I fail to see which part of any of this is ad-hominem, and I certainly do not have the capability to keep on guessing what you want and what would not be a non-sequitur to you.
ludicrously uncommon for the EWG to have such a vulnerability. But then again, it cannot justify what the EWG did (or should I say, some members). I know that I will be ferociously "attacked" for anything incomplete, you will ignore the incoming paper and of course reject it without providing technical reasoning, yet again. That's when it will start biting you and the EWG practices. The paper will be completed Ville, this is not irc and you are losing your temper. Do not expect me to follow you.I'm losing my temper? You "know" that you will be "attacked" for anything incomplete, you know that this mystical "you" will ignore the incoming paper.. I don't know what sort of illusions you labor under, and I certainly do not know what these statements are based on.
The proper course of action of an authoritative leader (does he exist? I wonder) would be to intervene and resolve the situation between parties in conflict. But in your overconfident behavior and onerous position, you are trying to emotionally engineer your way out of this. It will not work because ... the paper will be completed knowingly that people will more or less treat it as a conceptual supermarket. And it will be a permanent stigma to a rather less than bright "mistake" of the EWG.I have thus far been pointing out mistakes in your claims, which seem to be not quite undisputed facts, as you like to claim them to be. You make quite a lot of bold claims without much evidence to support them, including insinuations of some wrong-doing by the EWG.
You really think that expanding packs as expressions (which is an infinitely useful thing) in the context of an unrelated proposal is not "complicating the language" as well?
It was said by an EWG member acting as an arbiter in the first part of the last Saturday EWG morning meeting, after my own raise of concern, that an honest resolution would be to promote a final version of the document. I also did not see this mentioned in the wiki, or your trip report. This and the fact that it initially got a "library recommendation", means that there was no rejection in either session. Your classification is therefore defenseless.
unfortunate posts like the one by Botond Ballo classified it as "accepted proposal".
That said - I recognize that, since this paper was not in the pre-Rapperswil mailing and many attendees did not get a chance to read it in advance, the discussion of it was less comprehensive than for other proposals, and therefore the outcome of such discussion should not be taken for granted. I amended by blog post further to mention this. I also added a mention of the "library recommendation", of which I was not aware previously.
On Tuesday, July 22, 2014 11:53:24 AM UTC-4, George Makrydakis wrote:unfortunate posts like the one by Botond Ballo classified it as "accepted proposal".
My post did not classify fixed-size parameter packs as "accepted". I classified it under "further work", which also corresponds to the classification in EWG's report.
Might I suggest that you will have a better chance of convincing the committee to listen to you and of getting people to collaborate on your ideas if you stop being so confrontational and complaining about how you've been treated.
Relax, stop complaining about damage and how much of a mess people have made. Noone is under any obligation to agree with you or accept all your ideas, no matter how right you believe you are.
Since you seem so fond of aphorisms, remember that you catch more flies with honey than with vinegar.
Can the EWG explain why they gave my work that is very related to EWG#30 a library recommendation and motivated the essence of it to be delegated to other authors the next day, without providing a valid technical argument for doing so? What I believe does not count, what I can prove however does - and it is people, not organizations, who are responsible for their actions. I think that on their behalf, this is an honest mistake. Pointing that out does not make me confrontational, it makes me perhaps inconvenient.
On 07/24/2014 11:01 AM, Jonathan Wakely wrote:
Might I suggest that you will have a better chance of convincing the committee to listen to you and of getting people to collaborate on your ideas if you stop being so confrontational and complaining about how you've been treated.
Relax, stop complaining about damage and how much of a mess people have made. Noone is under any obligation to agree with you or accept all your ideas, no matter how right you believe you are.