David Golden wrote:
> On 10/29/07, Ken Williams <[EMAIL PROTECTED]> wrote:
>> On Oct 28, 2007, at 4:54 PM, Ron Savage wrote:
>>> From my point of view, as a module author, the spec has the bug in it.
>> Yet look what happens to everyone's parsing tools when we change the
>> spec in the name of "convenience":
>> [snip]
>>   # Can't use string ("Ron Savage <[EMAIL PROTECTED]>") as an ARRAY ref
>>
>> So I'm starting to reconsider changing it actually.
> 
> Before re-engineering the spec for "convenience", remember that this
> whole thread would never have started if Module::Install had just
> implemented the spec the way it was written.
> 
> Whose convenience are people thinking about?  The few (if any) that
> hand-write their META.yml?  As Ken shows, it's not any more
> "convenient" for parsers -- they would have to support things both
> ways.

The important thing here is that there are TWO different things going on here.

1)  The representation of authors in the META.yml.
2)  How an author tells the META.yml generator who the authors are.

For the former, readers of META.yml, they want it represented in an
unambiguous fashion which does not require them to worry about any special
cases.  For the latter, they want it to DWIM.

Fortunately, these contradictory desires are served by two entirely different
interfaces and both can be satisfied.

A META.yml generator is free to allow the user to enter the list of authors
anyway way they like COMPLETELY REGARDLESS of how it's actually represented in
META.yml.  For example, in MakeMaker AUTHOR is a single scalar.  It then turns
that into a list for the META.yml.

Keep the spec unambiguous.  Put the DWIM into the META.yml generator
(MakeMaker, Module::Build, Module::Install... whatever).


-- 
Whip me, beat me, make my code compatible with VMS!

Reply via email to