Skip to main content

bingo-functional changes

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#

  • Added ListMonad

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