1.29 2014-03-24 Dave Oswald <davido@cpan.org>
* Fixed set operations examples in POD (Xaerxess via GitHub).
1.28 2014-02-24 Dave Oswald <davido@cpan.org>
* Fix POD example showing power_set() method returning an iterator. Now it
correctly demonstrates power_set_iterator() returning an iterator.
(Response to report from vagabonding_electron on PerlMonks.)
1.27 2013-12-31 Dave Oswald <davido@cpan.org>
* Merge pull request for typo fix in POD.
* Merge pull request for adding meta-data via Makefile.PL.
* ChangeLog is more standards compliant.
* Module POD now mentions current maintainer, and GitHub repo.
1.26 2013-06-15 Jarkko Hietaniemi <jhi@iki.fi>
* Fixed "Set::Scalar::Valued" [rt.cpan.org #69037], bug reported
and fix supplied by Kiran Mukhyala, the problem was in null()
not being defined for valued set universes.
* Fixed qq[More whitespace in examples could show "picture" of
operations] [rt.cpan.org #54172 and #54173], bug reported
and fix supplied by MichaelRWolf. (ASCII art, so relies
on fixed-width font.)
1.25 2009-12-27 Jarkko Hietaniemi <jhi@iki.fi>
* Fixed "trying to add an element twice prevents further
adds to the set" [rt.cpan.org #52559], bug reported by
Eduard Wulff.
* Removed unused and deprecated (Perl 5.12?) "use UNIVERSAL 'isa'"
from Set/Scalar/Virtual.pm.
* Add tests for the copy overload.
1.24 2009-06-02 Jarkko Hietaniemi <jhi@iki.fi>
* Fixed "The intersection method does not like references in the
set." [rt.cpan.org #46589], bug reported and fix provided by
Father Chrysostomos.
* Cosmetics: removed trailing whitespace.
* Renamed README as README.old. It has been close to ten years.
* Added new README.
* Updated copyright years.
1.23 2009-01-16 Jarkko Hietaniemi <jhi@iki.fi>
* Add overload for '@{}' as suggested by John Loverso,
meaning that you can now do @$set and get the members
of the set (unordered, mind)
* Add overload for '=' (how did we manage so long without?)
[rt.cpan.org #42449]
* Remove explicit import of UNIVERSAL::isa()
[rt.cpan.org #42451]
* Modernize META.yml.
1.22 2007-10-23 Jarkko Hietaniemi <jhi@iki.fi>
* Add cartesian_product() and power_set(), both as full
constructors and as iterators.
* Add empty_clone().
* Makefile.PL not requiring Test::More since we are not using it.
1.21 2007-10-04 Jarkko Hietaniemi <jhi@iki.fi>
* Made to work with the upcoming Perl 5.005_05
(yes, you read that right), most importantly
Scalar::Util made optional (we fall back to
pure Perl emulations for blessed() and refaddr()
if necessary). Everything else already worked.
1.20 2005-08-06 Jarkko Hietaniemi <jhi@iki.fi>
* [cpan #13816] Set::Scalar blesses unblessed refs
A genuine bug, the suggested fix used, but then again Set::Scalar
was never designed or tested be used with references as the set
members. I would not recommend doing that unless much more
testing has been conducted. A test added to misc.t for that,
and a warning about using references as the set members added
to the pod.
* [cpan #13856] funny behavior in Set::Scalar::Base::intersection and Set::Scalar::Base::union
A genuine bug, but the suggested fix as-is would break
the special cases of intersecting with the null set and
unioning with the universal set.
A slightly enhanced version of the fix used instead,
tests added to intersection.t and union.t.
* [cpan #13857] Set::Scalar::Base::_binary_underload bug
Not really a bug. The _binary_underload() method is only
ever going to be called by Set::Scalar itself, or by classes
derived from Set::Scalar, so the assumption that all references
are object and that they are capable of calling the new() method
(i.e. being instance of Set::Scalar) is completely valid.
Trying to use the suggested fix also badly breaks the
laws.t when the universal and null sets are present.
1.19 2004-03-28 Jarkko Hietaniemi <jhi@iki.fi>
* [cpan #5829] When is_disjoint() was called in list
context, and the result was disjoint (not disjoint
universes), the return value was a list with one
undef element, from Alexei.
1.18 2003-10-04 Jarkko Hietaniemi <jhi@iki.fi>
* Removed a cut-and-paste bug from symmetric_difference();
from frederik.
1.17 2001-12-08 Jarkko Hietaniemi <jhi@iki.fi>
* Added is_empty() and empty() aliases for is_null()
and null(); from Peter Oliver.
* In the display callback discussion show by example
that one can use the same callback for several sets
(instead of generating a new anonymous subroutine each time),
and clarify the class versus object method wording.
1.16 2001-10-23 Jarkko Hietaniemi <jhi@iki.fi>
* Allow customising the set display: as_string_callback().
* Got the acknoledgement about the clear() idea wrong:
it was Dave Lewis, not Dan Berger.
* Document that the clear() does not really release the memory.
1.15 2001-10-22 Jarkko Hietaniemi <jhi@iki.fi>
* Documentation and whitespace nits.
1.14 2001-10-20 Jarkko Hietaniemi <jhi@iki.fi>
* Changed has() and contains() to return boolean,
not the member, as pointed out by Mark Dilger.
* Add clear() method to remove all the elements,
as suggested by Dave Lewis. Doesn't release the
memory to the operating system, though (in general,
Perl doesn't), just releases the memory to be reused
by Perl, so don't expect your memory footprint go down
when you clear your gigaset.
1.12 2001-10-13 Jarkko Hietaniemi <jhi@iki.fi>
* Add each() as a lighter weight way of iterating
over sets, as suggested by Dave Lewis.
1.11 Wed 2001-10-10 Jarkko Hietaniemi <jhi@iki.fi>
* In boolean contexts the string representation of sets
is not the best possible one, reported by Dan Berger.
Now the size of the set is returned in boolean contexts.
1.10 2001-08-03 Jarkko Hietaniemi <jhi@iki.fi>
* Added COPYRIGHT and LICENSE.
1.09 2001-05-07 Jarkko Hietaniemi <jhi@iki.fi>
* Annotation mixup: The fix known as 1.08 by Mark Dilger,
not Joy Koenig.
1.08 2001-05-07 Jarkko Hietaniemi <jhi@iki.fi>
* Set::Scalar()->new() - Set::Scalar()->new() didn't equal
Set::Scalar()->new(), thanks to wrong inheritance order.
Spotted and most graciously fixed by Joy Koenig.
1.07 2001-05-05 Jarkko Hietaniemi <jhi@iki.fi>
* Union could end up returning a true universe, from which one
cannot delete elements (e.g. using difference), bug reported
by Malcolm Purvis. The fix (which was applied to all of the
union+intersection+difference+symmetric_difference) was to
'downgrade' results of the same size as the first argument.
* Set::Scalar called itself Set::Scalar::Base.
1.06 2001-02-10 Jarkko Hietaniemi <jhi@iki.fi>
* Make the code Perl 5.00404-proof, patch from Ed Grimm.
1.04 2001-01-18 Jarkko Hietaniemi <jhi@iki.fi>
* Add examples of the set differences.
* NOTE: unique now returns a set, not a list of elements,
as it was documented and intended.
* unique() was rather broken, reported by Malcolm Purvis.
1.03 2000-10-31 Jarkko Hietaniemi <jhi@iki.fi>
* Use a custom overloaded data stringification routine
instead of overload::StrVal(). This solves the memory
leak reported by Joshua Richardson <jric@yahoo-inc.com>
_and_ speeds up the code by about 40%! (make test timings)
1.02 2000-09-15 Jarkko Hietaniemi <jhi@iki.fi>
* Null sets weren't subsets of every set in comparisons.
Noticed by Gerard Vreeswijk <gv@cs.uu.nl>.
1.01 2000-04-15 Jarkko Hietaniemi <jhi@iki.fi>
* Make to work with perl 5.6.0.
* Release as 1.01 as no bug reports have been seen for many moons.
0.901 1999-09-24 Jarkko Hietaniemi <jhi@iki.fi>
* Paul Schinder <schinder@pobox.com> reported that the set_set.t
subtest #5 produces "(a (b (a (c ...) ...)) (c ...))" for him,
not "(a (b (a ...)) (c ...))" as expected. Nondeterminism
in stringification. Not yet resolved but the test hacked
to allow either (for subtests #5 and #6).
* Timothy Kimball <kimball@stsci.edu> reported that Set::Scalar 0.9
had the super/subsetness the wrong way round. Fixed.