|
[Rivet] New projection method names without "projection"Andy Buckley andy.buckley at cern.chMon Jun 13 11:44:31 BST 2016
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
More information about the Rivet mailing list |