On Mon, 30 Jan 2006, Randy W. Sims wrote: > >Perhaps I should call it Tournament::RoundRobin::Schedule. Most > >of the content of the modules in the Games hierarchy have little > >to do with the content of this module.
> Generally, names are from generic to specific, so it'd be > Schedule::RoundRobin > -or- > Algorithm::Schedule::RoundRobin A roundrobin is a system of scheduling used to run tournaments, so the order, from generic to specific, would be scheduling::roundrobin, I agree. But if instead of 'isa' order, we are talking about 'hasa' order, you could argue that running a roundrobin tournament involves a number of tasks, one of which is working out who is playing who in what round, ie scheduling. That is, we have one big task, with a number of sub-tasks. In which case, it becomes roundrobin::scheduling, doesn't it? > But that name can apply to many things, such as process scheduling[1]. > 1. <http://en.wikipedia.org/wiki/Scheduling> Yes, in a computer context, round-robin scheduling has a different meaning. I can see I have to be careful because the name could be misleading. Wikipedia has an article on the derivation of the word round-robin. http://en.wikipedia.org/wiki/Round-robin The article on round-robin tournaments, http://en.wikipedia.org/wiki/Round-robin_tournament is helpful. > If the algorithm is not generic enough to apply to anything, it needs > more context (when naming: context on left, detail on right): > Sports::Schedule::RoundRobin > or similar... I think I'm going to go with Tournament::Schedule::RoundRobin. I'm actually using this in a foreign language classroom, where I want to pair everyone to work with everyone else. That is, it is not for a real game or sport. The wikipedia article on the Swiss tournament system makes me think a Tournament::Schedule::Swiss module might be not too difficult to write. But before uploading or registering, I need to compare with how tournament modules are already named on CPAN: Games::SGF::Tournament Tournament statistics generator Games::Tournament::BlackJack Framework for Simulating BlackJack Tournaments. Games::Go::AGATourn Perl extensions to ease the pain of using AGA tournament data files. Games::Go::TDFinder a widget to support preparing Go tournament registration Algorithm::Evolutionary::Op::TournamentSelect Tournament selector, takes individuals from one population and puts them into another Algorithm::Pair::Best Perl module to select pairings (designed for Go tournaments, but can be used for anything, really). Do I need to follow the precedent of these modules? -- Dr Bean, Taiwan
