v2.0.0#
- Renamed namespace
Chemem\Bingo\Functional\Algorithms to Chemem\Bingo\Functional - Moved
Maybe and Either monad artifacts into Chemem\Bingo\Functional\Functors\Monads namespace - Modified
patternMatch, cmatch, compact, keysExist, reject, max, min, firstIndexOf, fill, every, compact, mean, intersects, tail, zip helper functions - Modified pattern matching primitives namespaced under
Chemem\Bingo\Functional\PatternMatching\Internal - Removed
readIO, ask, Maybe::lift, Either::lift functions - Added lenses
- Added transducer functions
- Modified List and Writer monads
- Added
Functor, ApplicativeFunctor, and Monad interfaces - Modified
intersects function in immutable Collection - Renamed
match to cmatch - Added
liftM monad helper function - Added
K function (K-combinator) - Revamped project test suite
v1.13.0#
- Modified
putStr, getLine, putStrLn, putChar IO helper functions - Added default values to
pick and pluck functions - Added internal functions namespaced under
Chemem\Bingo\Functional\Algorithms\Internal - Modified some list/collection primitives to work on objects as well as hashtables
- Infused Collection with
Transient properties - Added
mergeN Collection method - Modified
any and every Collection methods - Added
ImmutableDataStructure and ImmutableList interfaces - Added a Tuple immutable structure
- Added
mapM Monad function - Modified
map, filter, fold, reject, pluck, pick, any, every, partial, indexOf, indexesOf, addKeys, omit, partialRight, dropLeft, dropRight, mapDeep, and filterDeep helper functions - Replaced original pattern-matching algorithm with that in the functional-php/pattern-matching library
- Added
intersperse, difference, countOfKey, countOfValue, and renameKeys functions - Jettisoned docs folder. Moved docs site to new address
v1.12.0#
- Removed function parameter from zip function
- Created Monadic interface for Monads
- Added
toWords, slugify, truncate, intersects, composeRight, filePath, union, unionWith, and zipWith helper functions - Added
filterM and foldM Monad helper functions - Added APCU-supported functionality to memoize function
- Added constant static function definitions for Monadic types
- Added
fetch, contains, unique, head, tail, last, intersects, implode, and offsetGet Collection functions
v1.11.0#
- Modified pattern matching algorithm to enable usage of wildcards in patterns
- Modified
State, List, Writer, and Reader monads - Added
pure, liftA2 Applicative helper functions - Added
bind and of methods to Either and Maybe type classes - Added
mcompose, bind, IO, _print, getChar, putChar, putStr, getLine, interact, readFile, writeFile, appendFile, readIO, state, gets, modify, evalState, execState, put, runState, fromValue, concat, prepend, append, head, tail, reader, runReader, either, isLeft, isRight, lefts, rights, fromLeft, partitionEithers, maybe, isJust, isNothing, fromJust, fromNothing, maybeToList, listToMaybe, catMaybes, mapMaybe, mapReader, withReader, ask, writer, runWriter, execWriter, and mapWriter monad functions - Added
flip helper function - Added
letIn function
v1.10.0#
- Added immutable collections
- Added object matching capability to
patternMatch - Modified
patternMatch array matching to give more concise match results - Jettisoned reverse function
- Added
mapDeep, omit, addKeys, last, reject, and mean helper functions
v1.9.0#
- Refined pattern matching algorithm
- Modified
dropLeft, dropRight, map, and filter helper functions - Added
every, any, where, reduceRight, curryRight, foldRight, min, max, groupBy, and patternMatch helper functions
v1.8.0#
- Added pattern matching to library
- Removed
invalidArrayKey, invalidArrayValue, emptyArray, and memoizationError callback functions - Modified
map, pick, fold, pluck, reduce, filter, memoize, and isArrayOf helper functions - Added
fill, partial, indexOf, reverse, toPairs, fromPairs, match helper functions
v1.7.2#
- Modified
orElse methods in Maybe and Either monads - Added
flatMap method to State and List monads
v1.7.1#
- Modified throttle function to accept multiple arguments
- Added type signatures and doc blocks
- Added immutable definition of
concat
v1.7.0#
v1.6.0#
- Modified
filter function - Changed parameter order of the
reduce function
v1.5.0#
- Added
map, filter, fold, and reduce helper functions
v1.4.0#
- Added callback signatures to
pluck, pick, isArrayOf, and memoize helper functions - Replaced
extractErrorMessage callback function - Added
IO, Reader, Writer, and State monads - Added
concat and throttle helper functions - Added
invalidArrayKey, invalidArrayValue, emptyArray, and memoizationError callback functions - Jettisoned
Monad
v1.3.0#
- Added
filter and flatMap functions to Monad
v1.2.1#
- Fixed partialRight behavior in
partialLeft - Fixed error with mixed type arrays in
isArray helper function
v1.2.0#
- Added
isArrayOf, partialRight, and partialLeft helper functions - Added
TransientMutator trait - Jettisoned
partial helper function
v1.1.0#
- Added
head, tail, and partition helper functions
v1.0.0#
- First production release
- Added
compose, constantFunction, curry, curryN, extend, identity, memoize, partial, pick, pluck, zip, and unzip helper functions - Added
Either, Maybe, CollectionApplicative, and Monad typeclasses