Releases: ace411/bingo-functional
v2.4.0
- Added
jsonDecode
andextract
functions - Reworked internals of
partition
,slugify
, andpartitionBy
functions - Infused
startsWith
,endsWith
,contains
, andtruncate
functions with multi-byte string processing capabilities - Added iteration modes to
filter
andreject
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
- Added
keys
,values
, andsize
functions - Altered file topology in source code directories
- Created separate entry points for library artifacts
- Added
ext-ds
Vector support toChemem\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
andassocPath
functions - Enforced optional interoperability with
ext-mbstring
in the signatures ofstartsWith
andendsWith
- Conditioned subsumption of errors in
readFile
,writeFile
, andappendFile
functions in anIOException
- Added workarounds for the deprecation of the use of
end
andreset
- on objects in PHP 8.1 or newer - inhead
andlast
functions
v2.2.0
v2.1.0
bingo-functional v2.0.1
- Modified
cmatch
function internals to better handle wildcard patterns
bingo-functional v2.0.0
- Renamed namespace
Chemem\Bingo\Functional\Algorithms
toChemem\Bingo\Functional
- Moved
Maybe
andEither
monad artifacts intoChemem\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
, andMonad
interfaces - Modified
intersects
function in immutableCollection
- Renamed
match
tocmatch
- Added
liftM
monad helper function - Added
K
function (K-combinator) - Revamped project test suite
bingo-functional v1.13.0
-
Modified
putStr
,getLine
,putStrLn
,putChar
IO helper functions -
Added default values to
pick
andpluck
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()
andevery()
Collection methods -
Added
ImmutableDataStructure
andImmutableList
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
-
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
-
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
andof
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
-
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()