Skip to content

Releases: ace411/bingo-functional

v2.4.0

03 Sep 15:08
05c70e6
Compare
Choose a tag to compare
  • Added jsonDecode and extract functions
  • Reworked internals of partition, slugify, and partitionBy functions
  • Infused startsWith, endsWith, contains, and truncate functions with multi-byte string processing capabilities
  • Added iteration modes to filter and reject functions
  • Added ext-eio-powered non-blocking file operations for IO monad
  • Replaced pattern matching parser in functional-php/pattern-matching with custom parser
  • Replaced cons matching function calls in cmatch with custom parser

v2.3.0

15 Aug 08:23
0dd5e5e
Compare
Choose a tag to compare
  • Added keys, values, and size functions
  • Altered file topology in source code directories
  • Created separate entry points for library artifacts
  • Added ext-ds Vector support to Chemem\Bingo\Functional\Immutable\Collection
  • Infused extend, dropLeft, dropRight, flatten, filterM, filterDeep, foldM, mapM, mapMaybe, mapDeep, partition, partitionBy, partitionEithers, lefts, rights, foldRight, reduceRight, fromPairs, isArrayOf, head, last, unique, flatten, union, unionWith, zip, zipWith functions with object processing capabilities
  • Fixed anomalous assocPath function behavior
  • Added dot notation-encoded path parsing to pluckPath and assocPath functions
  • Enforced optional interoperability with ext-mbstring in the signatures of startsWith and endsWith
  • Conditioned subsumption of errors in readFile, writeFile, and appendFile functions in an IOException
  • Added workarounds for the deprecation of the use of end and reset - on objects in PHP 8.1 or newer - in head and last functions

v2.2.0

06 Mar 14:48
d16bee8
Compare
Choose a tag to compare
  • Added equals and paths helper functions
  • Added default parameters to head and last functions
  • Added _refobj internal function for object comparisons
  • Improved memoize function amenability to igbinary and apcu extensions

v2.1.0

15 Feb 11:19
0801c16
Compare
Choose a tag to compare
  • Added page function
  • Fixed erroneous namespace in last function
  • Added kleisli composition function

bingo-functional v2.0.1

07 Aug 13:18
Compare
Choose a tag to compare
  • Modified cmatch function internals to better handle wildcard patterns

bingo-functional v2.0.0

20 Jul 20:50
Compare
Choose a tag to compare
  • 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

bingo-functional v1.13.0

19 Sep 17:53
Compare
Choose a tag to compare
  • 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

  • Replaced original pattern-matching algorithm with that in the functional-php/pattern-matching library

  • Added new helper functions

  • Jettisoned docs folder. Moved docs site to new address

New Helper Functions

  • intersperse()

  • difference()

  • countOfKey()

  • countOfValue()

  • renameKeys()

New Monadic Helper functions

  • mapM()

Modified functions

  • map()

  • filter()

  • fold()

  • reject()

  • pluck()

  • pick()

  • any()

  • every()

  • partial()

  • indexOf()

  • indexesOf()

  • addKeys()

  • omit()

  • partialRight()

  • dropLeft()

  • dropRight()

  • mapDeep()

  • filterDeep()

bingo-functional v1.12.0

25 Feb 11:25
Compare
Choose a tag to compare
  • Removed function parameter from zip function

  • Created Monadic interface for Monads

  • Added new helper functions

  • Added new Monad helper functions

  • Added APCU-supported functionality to memoize function

  • Added constant static function definitions for Monadic types

  • Added new Collection functions

New Helper functions

  • toWords()

  • slugify()

  • truncate()

  • intersects()

  • composeRight()

  • filePath()

  • union()

  • unionWith()

  • zipWith()

New Monadic Helper functions

  • filterM()

  • foldM()

New Collection functions

  • fetch()

  • contains()

  • unique()

  • head()

  • tail()

  • last()

  • intersects()

  • implode()

  • offsetGet()

bingo-functional v1.11.0

24 Nov 11:48
Compare
Choose a tag to compare
  • Modified pattern matching algorithm to enable usage of wildcards in patterns

  • Modified State, List, Writer, and Reader monads

  • Added monadic helper functions

  • Added Applicative helper functions

  • Added bind and of methods to Either and Maybe type classes

  • Added flip helper function

  • Added liftIn function

New Applicative Helper functions

  • Applicative\pure()

  • Applicative\liftA2()

New Monadic Helper functions

  • mcompose()

  • bind()

  • IO\IO

  • IO_print()

  • IO\getChar()

  • IO\putChar()

  • IO\putStr()

  • IO\getLine()

  • IO\interact()

  • IO\readFile()

  • IO\writeFile()

  • IO\appendFile()

  • IO\readIO()

  • State\state()

  • State\gets()

  • State\modify()

  • State\evalState()

  • State\execState()

  • State\put()

  • State\runState()

  • ListMonad\fromValue()

  • ListMonad\concat()

  • ListMonad\prepend()

  • LIstMonad\append()

  • ListMonad\head()

  • ListMonad\tail()

  • Reader\reader()

  • Reader\runReader()

  • Reader\mapReader()

  • Reader\withReader()

  • Reader\ask()

  • Writer\writer()

  • Writer\runWriter()

  • Writer\execWriter()

  • Writer\mapWriter()

New union type helper functions

  • Either\either()

  • Either\isLeft()

  • Either\isRight()

  • Either\lefts()

  • Either\rights()

  • Either\fromLeft()

  • Either\partitionEithers()

  • Maybe\maybe()

  • Maybe\isJust()

  • Maybe\isNothing()

  • Maybe\fromJust()

  • Maybe\fromNothing()

  • Maybe\maybeToList()

  • Maybe\listToMaybe()

  • Maybe\catMaybes()

  • Maybe\mapMaybe()

bingo-functional v1.10.0

29 Aug 10:31
Compare
Choose a tag to compare
  • Added object matching capability to patternMatch

  • Modified patternMatch array matching to give more concise match results

  • Jettisoned reverse function

  • Added Immutable collections to library

New Helper functions

  • mapDeep()
  • omit()
  • addKeys()
  • last()
  • reject()
  • mean()

Modified the following functions

  • patternMatch()