|
[Rivet] New projection method names without "projection"Andy Buckley andy.buckley at cern.chWed Jun 15 14:20:40 BST 2016
I didn't think of that, but a bit too much potential for confusion, I think, since that's sort-of synonymous with "read from file" in several contexts -- most notably the #includes a few lines above. Otherwise it makes me think "include in what?" -- although doubtless a similar argument can be made against "declare" ;-) I've implemented "declare" in the default branch, targetted for the 2.5.0 release, but it's still open to modification if someone comes up with an obvious improvement. Thanks, Andy On 14/06/16 17:26, Leif Lönnblad wrote: > "declare" is fine. Did anyone consider "include"? > > /Leif > > On 2016-06-13 14:23, David Grellscheid wrote: >> I'm not vetoing declare, it's fine for me, too. >> >> David >> >> >> On 13/06/2016 11:51, Frank Siegert wrote: >>> Hi Andy, >>> >>> since you are asking for more voices, I'll add mine in favour of add >>> or declare. The former would be the conservative change, while declare >>> sounds logical to me in the sense of making it available as something >>> that can be accessed later on (just like a variable). >>> >>> Cheers, >>> Frank >>> >>> >>> On 13 June 2016 at 12:44, Andy Buckley <andy.buckley at cern.ch> wrote: >>>> This'll go round in circles, but when I see "schedule" I think >>>> "when"? And >>>> there's no answer to that. >>>> >>>> Tl;dr: "declare" is still my preference. In more excruciating detail: >>>> >>>> "Declare" describes what's actually being done -- we are telling the >>>> system >>>> about the existence of the projection and giving it a name with >>>> which to >>>> access it. I'm not sure what's particularly "computer sciencey" about >>>> that >>>> word, but if you mean that it;s an analogy with declaring a variable >>>> (which >>>> I'd not consciously acknowledged) note that this will only be >>>> seen/written >>>> by people who are writing analysis code, so hopefully most would not >>>> find it >>>> an unnatural phrase. And again, note that we already use it in >>>> DECLARE_RIVET_PLUGIN at the end of every analysis .cc file... >>>> >>>> "bind" might have been an alternative, but a) it's even more >>>> computer-sciencey, and b) the confusion with the "new" std::bind is >>>> almost >>>> as bad as "register" -- arguably worse, since we might actually need >>>> to use >>>> std::bind someday! >>>> >>>> More voices? >>>> Andy >>>> >>>> >>>> >>>> >>>> On 13/06/16 10:54, David Grellscheid wrote: >>>>> >>>>> I still prefer schedule over declare, exactly _because_ it has the >>>>> implication that it is something that will be run. The caching and >>>>> so on >>>>> is an implementation detail users don't need to bother with. >>>>> >>>>> declare is too computer sciency for me. With that background you know >>>>> what it means, but the generic meaning of declare is not really useful >>>>> for us. >>>>> >>>>> David >>>>> >>>>> >>>>> On 12/06/2016 02:06, Christian Gutschow wrote: >>>>>> >>>>>> Oh I like declare! I think that’s my favourite of all the >>>>>> suggestions. >>>>>> Yes, let’s go for that one if there are no objections? >>>>>> >>>>>> Chris >>>>>> >>>>>> On 11 Jun 2016, at 22:24, Andy Buckley >>>>>> <a.g.buckley at gmail.com<mailto:a.g.buckley at gmail.com>> wrote: >>>>>> >>>>>> I read appoint as annoint, which is even better ;-) Perhaps also >>>>>> consecrate, sanctify, or bless? >>>>>> >>>>>> But more seriously, I thought of "declare" earlier today and am not >>>>>> sure why it didn't come to mind sooner. For me it is at least as nice >>>>>> as "register" -- in fact, we already use it in the macro that >>>>>> registers/declares analysis plugins (and no, I don't think there's >>>>>> any >>>>>> danger of confusion). And way more appropriate than "add", IMHO. What >>>>>> do you think, can we use it? >>>>>> >>>>>> Andy >>>>>> >>>>>> >>>>>> On 10/06/16 22:17, Christian Gutschow wrote: >>>>>> Hi Andy, all, >>>>>> >>>>>> schedule seems alright to me. Here are some more alternatives for the >>>>>> brainstorming: commission, employ, engage, enlist, appoint, >>>>>> establish. >>>>>> ;-) >>>>>> >>>>>> Cheers, >>>>>> Chris >>>>>> On 10 Jun 2016, at 20:58, Andy Buckley >>>>>> <andy.buckley at cern.ch<mailto:andy.buckley at cern.ch> >>>>>> <mailto:andy.buckley at cern.ch>> wrote: >>>>>> >>>>>> Ha, we had the same response to "register" being forbidden! >>>>>> >>>>>> I certainly agree with dropping reg(). >>>>>> >>>>>> schedule() is not bad -- I'd like to know what others think. The only >>>>>> flaw is that to me it implies that that projection will be run at a >>>>>> set time / order, while in practice it's lazy (and the result may >>>>>> already be cached). >>>>>> >>>>>> enroll() / enrol() will probably suck others into that US/other >>>>>> spelling trap ;-) >>>>>> >>>>>> record() is not quite right -- I feel like it specifies writing >>>>>> something to disk immediately. >>>>>> >>>>>> And catalog()... I don't really know what that implies. >>>>>> >>>>>> Grr, words. Right, I'm going to try and have a weekend now, and let >>>>>> this little word puzzle itch away in the background. Feel free to >>>>>> join >>>>>> me in this bikeshedding: names are important ;-) >>>>>> >>>>>> Andy >>>>>> >>>>>> >>>>>> >>>>>> On 10/06/16 17:30, David Grellscheid wrote: >>>>>> Hi Andy, >>>>>> >>>>>> Here's my preference (after some thesaurus googling): >>>>>> >>>>>> drop add() and reg() >>>>>> >>>>>> use schedule(), enroll(), record() or catalog() instead of register() >>>>>> >>>>>> We shouldn't multiply names for the same functionality. One >>>>>> deprecated >>>>>> name and one replacement is enough. >>>>>> >>>>>> See you, >>>>>> >>>>>> David >>>>>> >>>>>> >>>>>> >>>>>> On 10/06/2016 16:30, Andy Buckley wrote: >>>>>> Ah, I see! >>>>>> >>>>>> Anyway, yes we have had feedback that people don't really >>>>>> understand how >>>>>> the concept maps to the Rivet code so I think hiding by default is a >>>>>> good thing. And if it allows us to have shorter function names >>>>>> without >>>>>> losing clarity, that's no bad thing. >>>>>> >>>>>> I've implemented this on the 2.5 branch now. The one stumbling >>>>>> block was >>>>>> with the idea of register(someproj, "SomeName"): 'register' is a >>>>>> C(++) >>>>>> keyword, so I think we can't use it as a function name -- right? >>>>>> For now >>>>>> I've created aliases for addProjection called both add(...) and >>>>>> reg(...): any better ideas, or a preference to drop one? While I >>>>>> prefer >>>>>> the name "register" to "add", given that addProjection is being >>>>>> retained >>>>>> and that "reg" is not so obvious to remember or interpret, I'm >>>>>> inclined >>>>>> to ditch it. Thoughts? >>>>>> >>>>>> Andy >>>>>> >>>>>> >>>>>> On 24/05/16 14:17, Leif Lönnblad wrote: >>>>>> On 2016-05-24 00:06, Andy Buckley wrote: >>>>>> On 23/05/16 22:31, Frank Siegert wrote: >>>>>> >>>>>> I quite like the picture, but a) the algebraic mapping is not exact >>>>>> because you can't actually do P(P(Event)) >>>>>> >>>>>> In fact that was how the original design intended things to work, >>>>>> but it >>>>>> was lost along way. Don't quite remember why. >>>>>> >>>>>> Anyway, I don't mind hiding the word from the users, if they are >>>>>> confused by it. >>>>>> >>>>>> >>>>>> /Leif >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Rivet mailing list >>>>>> Rivet at projects.hepforge.org<mailto:Rivet at projects.hepforge.org> >>>>>> <mailto:Rivet at projects.hepforge.org> >>>>>> https://www.hepforge.org/lists/listinfo/rivet >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Dr Andy Buckley, Lecturer / Royal Society University Research Fellow >>>>>> Particle Physics Expt Group, University of Glasgow >>>>>> _______________________________________________ >>>>>> Rivet mailing list >>>>>> Rivet at projects.hepforge.org<mailto:Rivet at projects.hepforge.org> >>>>>> <mailto:Rivet at projects.hepforge.org> >>>>>> https://www.hepforge.org/lists/listinfo/rivet >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> — >>>>>> >>>>>> Dr. Christian Gütschow >>>>>> >>>>>> TU Dresden >>>>>> Institut für Kern- und Teilchenphysik >>>>>> Zellescher Weg 19 >>>>>> 01069 Dresden >>>>>> >>>>>> > at CERN: 104-02-C02 >>>>>> > at IKTP: E17, ASB >>>>>> > chris.g at cern.ch<mailto:chris.g at cern.ch> <mailto:chris.g at cern.ch> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Dr Andy Buckley, Lecturer / Royal Society University Research Fellow >>>>>> Particle Physics Expt Group, University of Glasgow >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> — >>>>>> >>>>>> Dr. Christian Gütschow >>>>>> >>>>>> TU Dresden >>>>>> Institut für Kern- und Teilchenphysik >>>>>> Zellescher Weg 19 >>>>>> 01069 Dresden >>>>>> >>>>>> > at CERN: 104-02-C02 >>>>>> > at IKTP: E17, ASB >>>>>> > chris.g at cern.ch<mailto:chris.g at cern.ch> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>> >>>> >>>> -- >>>> Dr Andy Buckley, Lecturer / Royal Society University Research Fellow >>>> Particle Physics Expt Group, University of Glasgow >>>> _______________________________________________ >>>> Rivet mailing list >>>> Rivet at projects.hepforge.org >>>> https://www.hepforge.org/lists/listinfo/rivet >> _______________________________________________ >> Rivet mailing list >> Rivet at projects.hepforge.org >> https://www.hepforge.org/lists/listinfo/rivet > > _______________________________________________ > Rivet mailing list > Rivet at projects.hepforge.org > https://www.hepforge.org/lists/listinfo/rivet -- Dr Andy Buckley, Lecturer / Royal Society University Research Fellow Particle Physics Expt Group, University of Glasgow
More information about the Rivet mailing list |