/[fset]/tags/fset_1.2.1
ViewVC logotype

Log of /tags/fset_1.2.1

View Directory Listing Directory Listing


Sticky Revision:

Revision 24 - Directory Listing
Modified Tue Nov 4 05:37:13 2008 UTC (5 years, 5 months ago) by sburson
Copied from: trunk revision 23
Tagging 1.2.1.

Revision 23 - Directory Listing
Modified Tue Nov 4 05:36:20 2008 UTC (5 years, 5 months ago) by sburson
Original Path: trunk
Oops -- error in port interface for threaded SBCL.


Revision 21 - Directory Listing
Modified Mon Nov 3 05:10:55 2008 UTC (5 years, 5 months ago) by sburson
Original Path: trunk
Update `fset.asd' for new files.


Revision 20 - Directory Listing
Modified Mon Nov 3 05:08:58 2008 UTC (5 years, 5 months ago) by sburson
Original Path: trunk
Some final tweaks for the 1.2 release.


Revision 19 - Directory Listing
Modified Mon Oct 27 04:44:52 2008 UTC (5 years, 5 months ago) by sburson
Original Path: trunk
Whoops, forgot to export `set-size'.


Revision 18 - Directory Listing
Modified Sun Oct 26 05:34:03 2008 UTC (5 years, 5 months ago) by sburson
Original Path: trunk
Lots and lots of changes for 1.2.


Revision 16 - Directory Listing
Modified Sun Jul 15 23:27:07 2007 UTC (6 years, 9 months ago) by sburson
Original Path: trunk
Many changes for 1.1.

() Added stateful iterators.  These aren't really any faster than converting
to a list, but they do cons less on large collections.  GMap arg types now
use the stateful iterators.  Added GMap arg- and result-types `:map' and
`:bag-pairs', using the multiple-value features in GMap 3.3 (Misc-Extensions
1.1).  Added GMap arg-type `:sequence' for completely generic iteration.

() Incompatible change: the macro `do-bag', which does map-style iteration,
has been renamed to `do-bag-pairs'; the new `do-bag' does set-style
iteration.

() Incompatible change: `map-merge' has been renamed to `map-union'.

() Implemented `some' and friends; added `nonempty' and `map-intersection'.

() Added historically-related-trees optimization for some set, bag, and map
operations.  Now, if you take one of these collections, perform a small
number of point changes on it (adding or removing a single element or pair),
and apply an operation that supports this optimization to the original
collection and the result, the operation will run in log time rather than
linear time.  Currently, the supported operations are: `subset?', `union',
`intersection', `set-difference', `map-union', and `map-intersection'; and
`compare' on sets, bags, maps, and seqs.

Fixed bugs:

() The print methods didn't support `*print-level*' portably.

() The `compare' methods for lists and vectors were wrong in the presence of
equivalent-but-unequal elements.  Also, for lists, we no longer compare
lengths first, because `length' on a list takes linear time, and because we
now support dotted lists.

() `pop-first' and `pop-last' were very wrong (they did not return the value
popped).

() `insert' wasn't sufficiently validating its arguments; also, the
implementation had a bug.

() There was a bug in `compare' on seqs.


Revision 14 - Directory Listing
Modified Mon Jun 11 01:34:38 2007 UTC (6 years, 10 months ago) by sburson
Original Path: trunk
Added historically-related set/bag/map optimization.

This optimization applies to `union', `intersection', `set-difference',
`set-difference-2', `bag-difference', and `map-merge'; and `compare' on
sets, bags, and maps.  (Of these, the difference operations are probably the
ones on which it is most useful.)  It very cheaply detects cases where the
two operands share some of their subtrees, and takes the appropriate
shortcut.  (For example, the set-difference of a subtree and itself is the
empty set.)  The two operands are likely to share some subtrees if they are
historically related; e.g., if one is the result of performing a small
number of `with' and/or `less' operations on the other, or if both of them
are related in this way to a third collection.  In such cases, these
algorithms can now run in log time rather than linear time, making this a
potentially quite significant optimization.


Revision 13 - Directory Listing
Modified Mon Jun 11 01:31:10 2007 UTC (6 years, 10 months ago) by sburson
Original Path: trunk
Fixed a minor bug in the bag printer.  Also, added `fset-user' package for
convenient experimentation with FSet.


Revision 12 - Directory Listing
Modified Mon May 28 03:10:45 2007 UTC (6 years, 10 months ago) by sburson
Original Path: trunk
Changed ASDF system definition to use `:serial t' to work around a bug in the
version of ASDF-Install distributed with SBCL.


Revision 11 - Directory Listing
Modified Sun May 27 01:06:50 2007 UTC (6 years, 10 months ago) by sburson
Original Path: trunk
Gaah, third try on `fset.asd'.

Revision 9 - Directory Listing
Modified Sun May 27 00:56:40 2007 UTC (6 years, 10 months ago) by sburson
Original Path: trunk
Fix reference to "gmap" in `fset.asd'.


Revision 7 - Directory Listing
Modified Sat May 26 23:01:08 2007 UTC (6 years, 10 months ago) by sburson
Original Path: trunk
Removing file of notes I didn't intend to publish.

Revision 6 - Directory Listing
Modified Sat May 26 06:37:22 2007 UTC (6 years, 10 months ago) by sburson
Original Path: trunk
Fix `.asd' file (having moved it).

Revision 5 - Directory Listing
Modified Sat May 26 06:34:37 2007 UTC (6 years, 10 months ago) by sburson
Original Path: trunk
Minor fixes for CMUCL, LispWorks, case-sensitive-lower mode.

Revision 4 - Directory Listing
Modified Tue May 22 05:32:57 2007 UTC (6 years, 11 months ago) by sburson
Original Path: trunk
Oops, fixing structure of initial import.

Revision 3 - Directory Listing
Added Tue May 22 05:29:23 2007 UTC (6 years, 11 months ago) by sburson
Original Path: trunk


  ViewVC Help
Powered by ViewVC 1.1.5