James,
I think your comments here would be a useful addition to the
List::Compare docs.
On Saturday, June 29, 2002, at 10:56 PM, James E Keenan wrote:
>
> ----- Original Message -----
> From: "Janek Schleicher" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, June 27, 2002 7:27 AM
> Subject: Re: [PROPOSAL] - List::Compare
>
>
>>
>> I looked to the 0.11 version.
>> I think it would be useful to have some simple comparison methods like
>> List::Compare->new(\@a, \@b)->is_equal
>> ->is_equal_set
>> ->is_equal_bag
>>
>> and the equivalents isnt_equal, isnt_equal_set, isnt_equal_bag.
>>
>
> This would require consideration of the question: "How do I define
> equality?" Is the list qw(1 2 3) equal to the list qw(1 2 3 3)? I.e.,
> "How
> do I treat multiple instances of the same element within a list?"
>
> Is the list ('alpha', 'beta', 'gamma') equal to the list ('alpha', 'beta
> gamma')? The answer depends on whether you treat whitespace as
> significant.
> Dave Cross gave consideration to these questions in the documentation to
> Array::Compare
> (http://search.cpan.org/doc/DAVECROSS/Array-Compare-1.03/Compare.pm)
>
>> Also a method which would find out
>> whether a list is a sublist of the other could make sense:
>> (I mean (2 4 6 8) is sublist of (1 2 3 4 5 6 7 8),
>> while (4 2 6 8) and (6 6 7 8) and (0) isn't).
>>
>
> ... which implies that you feel that the _order_ of elements in a list
> should be significant.
>
> There's no single correct answer to these questions. How you answer
> depends
> on what you need to do with the information reported by the method call.
>
> The original objective of List::Compare (with the exception of the
> get_bag()
> method) was a humble one: to put some simple object-oriented wrapping
> around the Cookbook code for comparison of 2 lists. The Cookbook code
> uses
> hash-lookup tables to achieve its results -- thereby flattening multiple
> instances and ignoring order within the lists. I would be inclined to
> say
> that any new methods added to List::Compare should take that approach,
> at
> least as their default options. At the very least, if you want to
> treat the
> order of elements as significant, you cannot use hash lookup tables to
> determine that; hence, you should probably look elsewhere.
>
> Thanks for taking the time to study List::Compare's documentation.
>
> Jim Keenan
> [EMAIL PROTECTED]
>
>