Revision history for Perl module List::Objects::WithUtils
2.004001 2013-12-15
- Add array->rotate(), array->rotate_in_place()
- Optimize hash->new()
2.003001 2013-12-14
- Add hash->intersection()
- Minor optimizations
- Fix unnecessary List::Objects::Types dep in some tests
2.002005 2013-12-13
- Fix single-arg array->splice()
2.002004 2013-12-06
- Minor low-level behavior changes;
bring Role::Hash in line with Role::Array blessed_or_pkg & ->copy
- Test coverage improvements
2.002003 2013-12-06
- Bad import args now die rather than warn
- Optimize methods returning arrays
- hash->new() matches array->new() behavior
- Test coverage improvements
2.002002 2013-11-22
- Drop Hash::Util in favor of tied immutable hashes;
these now work just like immutable array types
(and no longer throw an exception on unknown key fetches)
2.002001 2013-10-27
- Add ->is_mutable / ->is_immutable methods
- Add array->kv()
- Add array->elements()
(This is the same as '->all', but it's natural for people coming from
Moose and similar to the perl6 'elems' method.)
2.001001 2013-10-03
- Import all constructor functions by default
(via 'use List::Objects::WithUtils')
- Add 'immhash' immutable hashes
- Add 'immarray_of' and 'immhash_of' immutable type-checking lists
- New array methods: delete_when(), end(), inflate()
- hash()->clear returns the hash object
- Immutable array behavior should now work consistently across any
perl version; no longer mucking about with Internals::SvREADONLY
- Immutable & type-checking behavior moved to roles
- Role::WithJunctions moved to Role::Array::WithJunctions
- t/ reorganized to be slightly more managable
1.012001 2013-09-16
- Add hash->kv_sort()
1.011001 2013-09-08
- Depend on newer Type::Tie (we need SPLICE)
1.011000 2013-09-05
- Add 'hash_of' (List::Objects::WithUtils::Hash::Typed)
(Toby Inkster - github PR #3)
These hashes perform type-checking on their values via Type::Tie.
- List::Objects::WithUtils/Lowu now accept ':functions' import tag
(':all' without autobox)
- Array::Type now uses a Type::Tie tied array
(Toby Inkster - github PR #2)
This is faster (no more overload or method overrides), and allows for
'push @$typedarr, $foo' with type coercion/checking.
1.010002 2013-09-04
- Fix array->tuples() to skip adding unnecessary undefs
- Fix immarray->tuples()
1.010001 2013-09-01
- Fix array_of() assertions on non-coercible types
1.010000 2013-09-01
- Add 'array_of' (List::Objects::WithUtils::Array::Typed)
These array-type objects perform Type::Tiny-compatible type-checking
against their elements (when constructed and when elements are added).
- Add array()->tuples (with Type::Tiny support)
- Add array()->validated($type)
1.009005 2013-09-01
- Add array()->mapval (borrowed from Data::Munge)
- Drop minimum Perl prereq to perl-5.6
1.009004 2013-08-23
- Pass tests on 5.19.3
- carp() on unknown import tags
1.009003 2013-08-10
- Fix ->flatten(_all) on 5.8
1.009002 2013-08-09
- No code changes.
Fix 'Changes' to match CPAN::Changes::Spec,
courtesy of Sergey Romanov ->
https://github.com/avenj/list-objects-withutils/pull/1
1.009001 2013-08-09
- Fix ->flatten(_all) behavior regarding ARRAY-type objects;
consumers of List::Objects::WithUtils::Role::Array are flattened,
other ARRAY-type objects should be left alone.`
1.009000 2013-08-02
- Add array()->random
- POD fixes
1.008000 2013-07-06
- Add array()->flatten($depth)
1.007000 2013-06-30
- Backwards incompatible change; the return value of hash->set() is now the
object, in order to be consistent with array->set()
- Fix hash->get(@keys) return value
- Add array()->flatten_all
- Reorganize Role::Array POD
1.006001 2013-06-22
- Fix ->inflate() on autoboxed hashes; add test for same.
1.006000 2013-06-22
- Add hash->inflate() to simplify creating little struct-like objects out of
hashes.
- Add a ->TO_JSON method to array and hash objects. (Serializing these
objects to JSON is a pretty common use case for me.)
1.005000 2013-06-21
- Turn junctions into List::Objects::WithUtils::Array subclasses,
allowing easier junction manipulation.
- Minor ->sort() optimization.
1.004000 2013-06-19
- Implement streamlined junctions.
This removes Sub::Exporter from the dependency chain;
additionally, we do not need the extra methods - and probably do not
want the smart-match support - provided by Perl6::Junction and
Syntax::Keyword::Junction.
1.003001 2013-06-16
- Missing dep on 'parent'
1.003000 2013-06-16
- Add 'use Lowu;' shortcut to import all available functionality.
- Add autoboxing support via List::Objects::WithUtils::Autobox and
make autoboxing available via "use List::Objects::WithUtils 'autobox'"
(as well as the 'use Lowu;' shortcut)
- More flexible import() in List::Objects::WithUtils; allows for exporting
selected functionality to designated target packages.
- Added 'all'/':all' import tags to List::Objects::WithUtils;
bare import list still just enables array/immarray/hash,
'all' adds autoboxing.
- Add array()->export to line up with hash()->export.
- POD improvements.
1.002002 2013-06-15
- Fix CarpLevel for unimplemented immutable array object methods
1.002001 2013-06-03
- Simplify read-only array constructor
- Cleanups / test tweaks
1.002000 2013-06-03
- Add immarray() immutable array objects
- Add hash->copy() to match array->copy()
- Add array->head(), array->tail() methods
- POD, test fixups
1.001001 2013-06-02
- Sanity check ->mesh() arguments.
- Other minor cleanups.
1.001000 2013-06-02
- Add array->part()
1.000003 2013-06-02
- Add array->mesh()
1.000002 2013-05-19
- Documentation tweaks.
1.000001 2013-05-10
- Minor documentation fix
(->natatime's iterator returns a list, not an ARRAY)
1.000000 2013-05-05
- Documentation shuffle.
- No functional changes.
0.003000 2013-03-16
- Add hash->sliced()
0.002004 2013-03-14
- Documentation fixes.
0.002003 2013-03-10
- Fix missing POD for array->natatime with coderef callback.
0.002002 2013-03-10
- POD cleanups, some small fixes.
- New release tests and rectify missing test for array->join
0.002001 2013-03-10
- Missing dependency in dist.ini
0.002000 2013-03-10
- Add Junctions via Role::WithJunctions
( array->any_items / array->all_items )
0.001001 2013-03-10
- Initial release