Help language development. Donate to The Perl Foundation

Set::Equality cpan:ELIZABETH last updated on 2020-07-13



Set::Equality - Implement (==) for older Raku versions


use Set::Equality;

say (1,2,3) (==) (3,1,2);  # True


The Set::Equality module implements the (==) operator (and its unicode version , and its counterpart ) for versions of Raku before the 2020.06 Rakudo compiler release. Its implementation and tests are identical to the ones from Rakudo 2020.06 and later.

The (==) operator concepgtually coerces its parameters to Sets for non-QuantHash types. So:

(1,2,3) (==) (3,1,2)

is conceptually the same as:

(1,2,3).Set eqv (3,1,2).Set

It will however actually do as little actual coercion as possible to provide the True or False it is to return. For example:

<foo bar baz> (==) %hash

will return True if there are 3 keys in the hash, and they are foo, bar and baz, and each of these keys holds a truthy value.


Elizabeth Mattijsen [email protected]

Source can be located at: . Comments and Pull Requests are welcome.


Copyright 2020 Elizabeth Mattijsen

This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.