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] > >