RE: MooseX::FSA::Simple
Hmm, this seems to have stirred up a hornets' nest, sorry. Let me try to pull together a few threads. doy, what *would* you name Moose::Role::Matcher if you were to release it today? Dave Rolsky you said, 'there's multiple role systems on CPAN, so Role != Moose'. so, might we distinguish it by using MooseRole in the namespace perhaps? Various people have suggested I drop 'Simple', so done. 'It should be named by what it *does* not what it *uses*', now you all point it out, agreed. Does FSA::MooseRole satisfy everyone (or no-one)? Kind Regards Ian This e-mail (including any attachments) is confidential, may contain proprietary or privileged information and is intended for the named recipient(s) only. Unintended recipients are prohibited from taking action on the basis of information in this e-mail and must delete all copies. Nomura will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code in, this e-mail. If verification is sought please request a hard copy. Any reference to the terms of executed transactions should be treated as preliminary only and subject to formal written confirmation by Nomura. Nomura reserves the right to monitor e-mail communications through its networks (in accordance with applicable laws). No confidentiality or privilege is waived or lost by Nomura by any mistransmission of this e-mail. Any reference to Nomura is a reference to any entity in the Nomura Holdings, Inc. group. Please read our Electronic Communications Legal Notice which forms part of this e-mail: http://www.Nomura.com/email_disclaimer.htm
Re: MooseX::FSA::Simple
On Wed, Sep 21, 2011 at 5:28 AM, ian.doche...@nomura.com wrote: Does FSA::MooseRole satisfy everyone (or no-one)? I hate it. It seems like unnecessary noise. If the distinguishing feature of this code is that it is a role, then name it FSA::Role or FSA::Rules::Role or something. In that case, I don't think the fact that there are non-Moose roles matters very much; you're encoding information about the API (this package needs a class to consume it). hdp.
Re: MooseX::FSA::Simple
Am 21.09.2011 um 13:18 schrieb Hans Dieter Pearcey: On Wed, Sep 21, 2011 at 5:28 AM, ian.doche...@nomura.com wrote: Does FSA::MooseRole satisfy everyone (or no-one)? I hate it. It seems like unnecessary noise. If the distinguishing feature of this code is that it is a role, then name it FSA::Role or FSA::Rules::Role or something. In that case, I don't think the fact that there are non-Moose roles matters very much; you're encoding information about the API (this package needs a class to consume it). hdp. The question is, how would someone name his dist who wants to release a version of FSA::Role, which uses Role::Basic as Role framework? I think we need something like Any::Role :-) Cheers, mo
Re: MooseX::FSA::Simple
On Wed, Sep 21, 2011 at 7:24 AM, Moritz Onken on...@netcubed.de wrote: The question is, how would someone name his dist who wants to release a version of FSA::Role, which uses Role::Basic as Role framework? FSA::Role::Basic It's a useful piece of information at that point, unlike slapping Moose or MooseRole into the name right away. hdp.
RE: MooseX::FSA::Simple
mo wrote: The question is, how would someone name his dist who wants to release a version of FSA::Role, which uses Role::Basic as Role framework? I think we need something like Any::Role :-) So that implies FSA::Role::Moose for my module, which I don't think would satisfy hdp. If there is an objection about including 'Moose' in the namespace (because it is about how it is implemented, rather than what it *is*) then shouldn't the same argument apply to including 'Role' since this is also about how it is implemented? FSA::Something, rather than FSA::Role? I have done a survey of CPAN modules, (I should have done this previously, sorry) CPAN modules with MooseRole in them (sorry hdp) POE::Test::Helpers::MooseRole We also have the 'Role' namespace used for Moose Roles or not Moose Roles as in. Role::Log::Syslog::Fast Role::Subsystem Role::Log::Syslog::Fast CPAN modules that have 'Role' in their namespace (referring to Moose Roles) Javascript::Framework::jQuery::Role::Plugin Antispam::Toolkit::Role::BerkeleyDB And some with 'Role' that are *not* Moose Reflex::Role Class::Role Chloro::Role::Form Some CPAN modules I have found that are Moose Roles, but which don't have either Moose or Role in their name are. CatalystX::DynamicComponent Nagios::Plugin::OverHTTP::Parser Simulation::discreteEvent::Recorder Graphics::Color::Equal Norma::ORM::Mappable Data::Serializable. I think this survey has shown me that every possible way of doing has been done in CPAN. But perhaps the best way is to avoid both 'Moose' and 'Role' in the namespace, but put in the description 'A Moose Role to ...'. So, that boils down to FSA::Something Which to avoid the existing FSA::Rules gives me a bit of a problem. Perhaps FSA::StateMachine Sorry for the long post but perhaps some recommendations may come out of this for naming conventions in the future? Kind regards Ian -- This e-mail (including any attachments) is confidential, may contain proprietary or privileged information and is intended for the named recipient(s) only. Unintended recipients are prohibited from taking action on the basis of information in this e-mail and must delete all copies. Nomura will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code in, this e-mail. If verification is sought please request a hard copy. Any reference to the terms of executed transactions should be treated as preliminary only and subject to formal written confirmation by Nomura. Nomura reserves the right to monitor e-mail communications through its networks (in accordance with applicable laws). No confidentiality or privilege is waived or lost by Nomura by any mistransmission of this e-mail. Any reference to Nomura is a reference to any entity in the Nomura Holdings, Inc. group. Please read our Electronic Communications Legal Notice which forms part of this e-mail: http://www.Nomura.com/email_disclaimer.htm
Re: MooseX::FSA::Simple
On Wed, Sep 21, 2011 at 9:04 AM, ian.doche...@nomura.com wrote: So you are implying that FSA::Role::Moose Would be acceptable to you too? Yes, if there were some existing non-Moose FSA::Role that you needed to distinguish your version from. Otherwise it's pointless. Imagine if everyone jumped immediately to being as specific as possible with their names; we'd have Net::SMTP::Object and Class::URI and Hash::Config and lots of similar garbage. Only be as verbose as you need to be. Let the next author worry about how to differentiate his or her module from yours. hdp.
Re: MooseX::FSA::Simple
On 11-09-21 07:24 AM, Moritz Onken wrote: The question is, how would someone name his dist who wants to release a version of FSA::Role, which uses Role::Basic as Role framework? If it inherits from Role::Basic, shouldn't it be named Role::FSA? I think we need something like Any::Role :-) Well, I did suggest Rocky::* but nobody seems keen on it. :( -- Just my 0.0002 million dollars worth, Shawn Confusion is the first step of understanding. Programming is as much about organization and communication as it is about coding. The secret to great software: Fail early often. Eliminate software piracy: use only FLOSS. Make something worthwhile. -- Dear Hunter
Re: MooseX::FSA::Simple
On Wed, Sep 21, 2011 at 5:28 AM, ian.doche...@nomura.com wrote: Does FSA::MooseRole satisfy everyone (or no-one)? So I am wondering, why have 'Role' in the name at all? On Sep 21, 2011, at 7:18 AM, Hans Dieter Pearcey wrote: If the distinguishing feature of this code is that it is a role, then ... I suspect that actually, that the distinguishing feature of this code is that it is an FSA and not a Role. The fact it is a Role only means you can not instantiate it directly and must compose it into a class. This actually strikes me as a drawback more then a benefit. Why not call it Something::FSA (or something similar, your choice) and slap a simple concrete class that consumes the role into it. THe result might look something like this: lib/Something/FSA.pm # simple concrete class lib/Something/FSA/Role.pm # your role This (IMO) solves two problems: 1) Your module is more usable because people can jump right in with a fully functioning class. 2) You don't need to worry about naming it Something::FSA::Role and all the complexity that goes with it (and people still can just use the role if they want). Thoughts? - Stevan Disclaimer: I didn't really look too closely at your code yet, so if this idea make no sense, feel free to ignore it.
Re: MooseX::FSA::Simple
On Wed, Sep 21, 2011 at 9:20 AM, Stevan Little stevan.lit...@iinteractive.com wrote: I suspect that actually, that the distinguishing feature of this code is that it is an FSA and not a Role. The fact it is a Role only means you can not instantiate it directly and must compose it into a class. This actually strikes me as a drawback more then a benefit. Why not call it Something::FSA (or something similar, your choice) and slap a simple concrete class that consumes the role into it. THe result might look something like this: lib/Something/FSA.pm # simple concrete class lib/Something/FSA/Role.pm # your role ++ Similar concept: Data::Visitor shipping with Data::Visitor::Callback. hdp.
RE: MooseX::FSA::Simple
On Wed, 21 Sep 2011, ian.doche...@nomura.com wrote: CPAN modules that have 'Role' in their namespace (referring to Moose Roles) Antispam::Toolkit::Role::BerkeleyDB Well, this is part of a larger distro called Antispam::Toolkit. Nobody is going to try to install Antispam::Toolkit::Role::BerkeleyDB directly. And some with 'Role' that are *not* Moose Chloro::Role::Form That's a Moose role. I know, cause I wrote it ;) -dave /* http://VegGuide.org http://blog.urth.org Your guide to all that's veg House Absolute(ly Pointless) */
RE: MooseX::FSA::Simple
Sorry Dave, I read the pod, not the code, to come to that conclusion. :( From your own example however, it seems you are happy with 'Role' appearing in the namespace? For what it is worth, I am now almost certain the name for my module will be. FSA::Engine 'A Moose Role to convert an object into a Finite State Machine' (since the word 'State' in FSA::StateEngine simply repeats part of Finite State Machine) Regards Ian From: Dave Rolsky [mailto:auta...@urth.org] And some with 'Role' that are *not* Moose Chloro::Role::Form That's a Moose role. I know, cause I wrote it ;) -- This e-mail (including any attachments) is confidential, may contain proprietary or privileged information and is intended for the named recipient(s) only. Unintended recipients are prohibited from taking action on the basis of information in this e-mail and must delete all copies. Nomura will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code in, this e-mail. If verification is sought please request a hard copy. Any reference to the terms of executed transactions should be treated as preliminary only and subject to formal written confirmation by Nomura. Nomura reserves the right to monitor e-mail communications through its networks (in accordance with applicable laws). No confidentiality or privilege is waived or lost by Nomura by any mistransmission of this e-mail. Any reference to Nomura is a reference to any entity in the Nomura Holdings, Inc. group. Please read our Electronic Communications Legal Notice which forms part of this e-mail: http://www.Nomura.com/email_disclaimer.htm
RE: MooseX::FSA::Simple
On Wed, 21 Sep 2011, ian.doche...@nomura.com wrote: Sorry Dave, I read the pod, not the code, to come to that conclusion. :( From your own example however, it seems you are happy with 'Role' appearing in the namespace? Again, this is a different case. I put Role in the namespace when the module is part of a larger distro that uses those roles. For what it is worth, I am now almost certain the name for my module will be. FSA::Engine 'A Moose Role to convert an object into a Finite State Machine' I think that's best. -dave /* http://VegGuide.org http://blog.urth.org Your guide to all that's veg House Absolute(ly Pointless) */
RE: MooseX::FSA::Simple
From: Dave Rolsky [mailto:auta...@urth.org] For what it is worth, I am now almost certain the name for my module will be. FSA::Engine 'A Moose Role to convert an object into a Finite State Machine' I think that's best. [Ian replied.] Finally! :) Thanks everyone for your very helpful input. Kind Regards Ian -- This e-mail (including any attachments) is confidential, may contain proprietary or privileged information and is intended for the named recipient(s) only. Unintended recipients are prohibited from taking action on the basis of information in this e-mail and must delete all copies. Nomura will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code in, this e-mail. If verification is sought please request a hard copy. Any reference to the terms of executed transactions should be treated as preliminary only and subject to formal written confirmation by Nomura. Nomura reserves the right to monitor e-mail communications through its networks (in accordance with applicable laws). No confidentiality or privilege is waived or lost by Nomura by any mistransmission of this e-mail. Any reference to Nomura is a reference to any entity in the Nomura Holdings, Inc. group. Please read our Electronic Communications Legal Notice which forms part of this e-mail: http://www.Nomura.com/email_disclaimer.htm
Re: MooseX::FSA::Simple
I think a MooseX::Role::* module would be generally understood to be an extension of the Moose role API. Thus an actual role offered up on CPAN wouldn't have Role in its namespace. -- Richard Simões Internet On Mon, Sep 19, 2011 at 8:01 AM, ian.doche...@nomura.com wrote: I have written a new module along the lines of FSA::Rules, only as a Moose Role. Is it convention that Moose Roles are in the MooseX::Role namespace so I would call the module MooseX::Role::FSA::Simple, or can I call it MooseX::FSA::Simple? Regards Ian -- This e-mail (including any attachments) is confidential, may contain proprietary or privileged information and is intended for the named recipient(s) only. Unintended recipients are prohibited from taking action on the basis of information in this e-mail and must delete all copies. Nomura will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code in, this e-mail. If verification is sought please request a hard copy. Any reference to the terms of executed transactions should be treated as preliminary only and subject to formal written confirmation by Nomura. Nomura reserves the right to monitor e-mail communications through its networks (in accordance with applicable laws). No confidentiality or privilege is waived or lost by Nomura by any mistransmission of this e-mail. Any reference to Nomura is a reference to any entity in the Nomura Holdings, Inc. group. Please read our Electronic Communications Legal Notice which forms part of this e-mail: http://www.Nomura.com/email_disclaimer.htm
Re: MooseX::FSA::Simple
On Mon, 19 Sep 2011, ian.doche...@nomura.com wrote: I have written a new module along the lines of FSA::Rules, only as a Moose Role. Is it convention that Moose Roles are in the MooseX::Role namespace so I would call the module MooseX::Role::FSA::Simple, or can I call it MooseX::FSA::Simple? I'd really prefer that MooseX _only_ be used for extensions to Moose (at the meta level). That said, another namespace for modules designed to work with other Moose _using_ modules might be useful. No good names come to mind right now, though. -dave /* http://VegGuide.org http://blog.urth.org Your guide to all that's veg House Absolute(ly Pointless) */
Re: MooseX::FSA::Simple
+1 On Mon, 19 Sep 2011 10:19:37 -0700 Karen Etheridge p...@froods.org wrote: On Mon, Sep 19, 2011 at 12:13:06PM -0500, Dave Rolsky wrote: I'd really prefer that MooseX _only_ be used for extensions to Moose (at the meta level). Strongly agree. Although this depends on the cooperation of the individual authors, I'd like to try approaching the owners of the existing modules in this namespace and encouraging them to rename. That said, another namespace for modules designed to work with other Moose _using_ modules might be useful. No good names come to mind right now, though. IMHO the name should primarily represent what it *does*, not what it *uses*, so for example a role that is meant to be used in Catalyst should start with Catalyst::Role::, not Role::Catalyst::. So for the original subject of this thread, I'd suggest FSA::Role::Rules or FSA::Role::Rules::Simple.
Re: MooseX::FSA::Simple
On Mon, 19 Sep 2011, Karen Etheridge wrote: That said, another namespace for modules designed to work with other Moose _using_ modules might be useful. No good names come to mind right now, though. IMHO the name should primarily represent what it *does*, not what it *uses*, so for example a role that is meant to be used in Catalyst should start with Catalyst::Role::, not Role::Catalyst::. So for the original subject of this thread, I'd suggest FSA::Role::Rules or FSA::Role::Rules::Simple. Good point. I agree. I do think putting Role in the name is useful, since roles are fundamentally different than standalone classes. Unfortunately, there's multiple role systems on CPAN, so Role != Moose. -dave /* http://VegGuide.org http://blog.urth.org Your guide to all that's veg House Absolute(ly Pointless) */