|
1 | | -This is a long-waited-for (I hope) rewrite of the venerable Set::Scalar |
2 | | -module. The original 0.00x series culminated in 0.003 back in May 1996, |
3 | | -the 0.004 in October 1998 was just a minor update. |
| 1 | +The first priority of Set::Scalar is to be a convenient interface |
| 2 | +to sets (as in: unordered colletions of Perl scalars.) While not |
| 3 | +designed to be slow or big, neither has it been designed to be |
| 4 | +fast or compact. |
4 | 5 |
|
5 | | -The most egregious problem with the old implementation was that having |
6 | | -complex things such as objects as set members (for example if sets of sets |
7 | | -were wanted) didn't really work. |
8 | | - |
9 | | -While this new implementation is more correct, it may be also slower. |
10 | | -Some operations are certainly slower, but some are faster. It all |
11 | | -depends on your mix of operations. |
12 | | - |
13 | | -Displaying sets is not as versatile as with the old implementation, |
14 | | -but then on the other hand I doubt (hope) that anybody ever used the |
15 | | -overly baroque interface anyway. If, however, I am wrong in this, |
16 | | -please let me know, I'll think of something. The old interface should |
17 | | -not be revived as such, I think, it was far too clunky. |
18 | | - |
19 | | -The "valued sets" concept is now moved to its own subclass, |
20 | | -Set::Scalar::Valued. |
21 | | - |
22 | | -(There are two meta-classes, Set::Scalar::Universe and |
23 | | - Set::Scalar::ValuedUniverse, but do not use them overmuch, as there |
24 | | - are still some rough edges that may change in future releases. |
25 | | - Do not use them directly (by instantiating them yourself, for example), |
26 | | - $set->universe is about the only method that works and will continue |
27 | | - to work. Even more internal-use-only are the Set::Scalar::Real and |
28 | | - Set::Scalar::Virtual. Do not try to use them directly. |
29 | | - Their interfaces are left undocumented on purpose.) |
30 | | - |
31 | | -The "inverted sets" concept is history, removed, gone, not to return. |
32 | | -You can just use -$set. |
33 | | - |
34 | | -Let me know what you think, did I miss anything obvious? Any old |
35 | | -functionality that I didn't purposefully/accidentally migrate to |
36 | | -the new one? Could the documentation be better? (a rhetorical question) |
37 | | -Any new functionality you would like to see? (Please don't say that |
38 | | -you want the Cartesian product: it's a concept from wholly different |
39 | | -world, the ordered sets. My sets are unordered.) |
| 6 | +Please see lib/Set/Scalar.pm for more information, once you have |
| 7 | +installed this module, "perldoc Set::Scalar" should work. |
40 | 8 |
|
41 | 9 | -- |
42 | | -Jarkko Hietaniemi <jhi@iki.fi> |
43 | | - |
44 | | - |
| 10 | +jhi@iki.fi |
0 commit comments