|
[Rivet] New projection method names without "projection"David Grellscheid david.grellscheid at durham.ac.ukMon Jun 13 13:23:47 BST 2016
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
More information about the Rivet mailing list |