While I understand educated_foo hates anything that smells like an object, and I get that "arrow-infested" syntax like `$hash->sliced('foo', 'bar', 'baz')` is less readable to some folks than writing a classic hash slice with an exists() check (for example), I think that his "send it to Acme!" review is a mischaracterization of what my module does.
Core operators are present -- they also live alongside other bundled tools and toys for working with collections (List::Util, List::MoreUtils, List::UtilsBy, junction objects, etc) packaged in a way that encourages thinking in functional terms.
Most methods that manipulate a list return new objects; avoiding mutable lists is easy/encouraged (or enforced via immutable objects).
Version 2 also adds type-checking objects (mutable and immutable) via integration with Type::Tiny.
I have simplified a fair bit of my in-house code this way -- at the (admittedly relatively heavy) cost of method call overhead -- which is why it is on CPAN ;-)
2 out of 2 found this review helpful. Was this review helpful to you? Yes No