Search results for "dist:FunctionalPerl ops"
FP::Ops - function wrappers around Perl ops
There's no way to take a code reference to Perl operators, hence a subroutine wrapper is necessary to use them as first-class values (like pass them as arguments to higher-order functions like list_map / ->map). This module provides them. Also simila...
PFLANZE/FunctionalPerl-0.72.76 - 22 Jan 2023 15:12:41 UTC
FP::Weak - utilities to weaken references
weaken <location> `Scalar::Util`'s `weaken`, unless one of the `with_..` development utils are used (or `$FP::Weak::weaken` is changed). Weakened <location> Calls `weaken <location>` after copying the reference, then returns the unweakened reference....
PFLANZE/FunctionalPerl-0.72.76 - 22 Jan 2023 15:12:41 UTC
FP::Hash
Provides pure functions on hash tables. Note though that hash table updates simply copy the whole hash table, thus you may easily get bad computational complexity. (If you really care about that, and not so much about interoperability with other Perl...
PFLANZE/FunctionalPerl-0.72.76 - 22 Jan 2023 15:12:41 UTC
FP::List - singly linked (purely functional) lists
Purely functional (immutable) singly linked lists are interesting in functional programs because they can be extended and walked directly via recursion. They do not offer efficient random access (O(len)), also there is a constant space overhead and a...
PFLANZE/FunctionalPerl-0.72.76 - 22 Jan 2023 15:12:41 UTC
FP::autobox
Wouldn't it be cool if an ordinary Perl array could be used as an FP::Abstract::Sequence? Autobox delivers on that. This uses autobox underneath. This module does bless the arrays, so that method calls other than in the lexical scope of the autobox i...
PFLANZE/FunctionalPerl-0.72.76 - 22 Jan 2023 15:12:41 UTC
FP::Failure - failure values
Values meant to represent errors/failures and to be distinguishable from non-error values. They are overloaded to be false in boolean context (although doing a boolean test is not safe to distinguish from non-failure values, as obviously those includ...
PFLANZE/FunctionalPerl-0.72.76 - 22 Jan 2023 15:12:41 UTC
FP::Array_sort - 'sensible' sorting setup
Perl's sort is rather verbose and uses repetition of the accessor code: sort { &$foo ($a) <=> &$foo ($b) } @$ary Abstracting the repetition of the accessor as a function (`on`) and wrapping sort as a higher-order function makes it more straight-forwa...
PFLANZE/FunctionalPerl-0.72.76 - 22 Jan 2023 15:12:41 UTC
FP::AST::Perl - abstract syntax tree for representing Perl code
This is not a parser, and hence should be outside the scope of the "can only parse Perl at runtime" issue. The longer term aim is to support all of Perl, and to support conversion to and maybe from an op tree....
PFLANZE/FunctionalPerl-0.72.76 - 22 Jan 2023 15:12:41 UTC
FP::Combinators - function combinators
*A combinator is a higher-order function that uses only function application and earlier defined combinators to define a result from its arguments.* Combinator (wikipedia.org) <https://en.wikipedia.org/wiki/Combinator>...
PFLANZE/FunctionalPerl-0.72.76 - 22 Jan 2023 15:12:41 UTC
FP::StrictList - an FP::List that enforces list semantics
FP::List does not enforce its pairs to only contain pairs or null in their rest (cdr) position. Which means that they may end in something else than a null (and operations encountering these will die with "improper list"). FP::StrictList does, which ...
PFLANZE/FunctionalPerl-0.72.76 - 22 Jan 2023 15:12:41 UTC
FunctionalPerl - functional programming in Perl
Allows Perl programs to be written with fewer side effects. See the Functional Perl <http://functional-perl.org/> home page....
PFLANZE/FunctionalPerl-0.72.76 - 22 Jan 2023 15:12:41 UTC
FP::SortedPureArray
A sorted FP::PureArray. Has all the methods of the latter, plus currently just `perhaps_binsearch`. So, this is very much unfinished and deserves more methods and constructors, as well as possibly a protocol (FP::Abstract::*)....
PFLANZE/FunctionalPerl-0.72.76 - 22 Jan 2023 15:12:41 UTC
FP::Abstract::Compare - comparison protocol
Objects implementing this protocol can be ordered unambiguously. The `$a->FP_Compare_compare($b)` returns -1 if $a is to be ordered before $b (is smaller), 0 if they are to be ordered into the same position, 1 if $a is to be ordered after $b. This me...
PFLANZE/FunctionalPerl-0.72.76 - 22 Jan 2023 15:12:41 UTC