Terrence Brannon wrote at Tue, 02 Jul 2002 21:58:51 +0200:

>> A list doesn't stand for any fixed implementation. A list can be regarded as
>>   - an array
> 
> an array is a standard perl data structure defined as a list with a name. Example:
> 
> @A = (1,2,3);

Right. I thought more to the general thinking of lists 
(from a computer science/linguistic view).
Allthough what I really thought was the word "Collection".

However, it seems to be more common to me to think,
that a list can represent a set or something else, too.

But perhaps it's better to implement these ideas in a module like
Collection::Compare.

> 
> we have a list ( 1, 2, 3) which has a name (@A)
> 
>>   - a set
> 
> hmm, sets can't have repeating elements, right? thus lists are not as restricted wrt 
>contents as a
> set.

Year. 
Comparing two lists as sets should ignore double elements.

It's like:
  my @A; my @B; # both Arrays
  my $set_A = Set::Scalar->new(@A);  # makes a real set
  my $set_B = Set::Scalar->new(@B);  # make elements uniq
  $set_A->is_eqal($set_B);

what I sometimes would prefer to write:
  are_equal_sets( \@A, \@B );

>>   - a bag (multiset)
> 
> I have forgotten what a bag is. Anyone mind explaining?
> 

A bag is a "set" where elements can occur more than one times.
Two bags are equal iff 
they have equal elements, 
the occurences of each element is the same in both bags.

So a set {1} =   {1, 1} =  {1, 1, 1} = ...,
while    <1> !=  <1, 1> != <1, 1, 1>.


Greetings,
Janek

Reply via email to