A simple functional programming library for PHP
keys
, values
, and size
functionsext-ds
Vector support to Chemem\Bingo\Functional\Immutable\Collection
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 capabilitiesassocPath
function behaviorpluckPath
and assocPath
functionsext-mbstring
in the signatures of startsWith
and endsWith
readFile
, writeFile
, and appendFile
functions in an IOException
end
and reset
- on objects in PHP 8.1 or newer - in head
and last
functionsequals
and paths
helper functionshead
and last
functions_refobj
internal function for object comparisonsmemoize
function amenability to igbinary
and apcu
extensionspage
functionlast
functionkleisli
composition functioncmatch
function internals to better handle wildcard patternsChemem\Bingo\Functional\Algorithms
to Chemem\Bingo\Functional
Maybe
and Either
monad artifacts into Chemem\Bingo\Functional\Functors\Monads
namespacepatternMatch
, cmatch
, compact
, keysExist
, reject
, max
, min
, firstIndexOf
, fill
, every
, compact
, mean
, intersects
, tail
, zip
helper functionsChemem\Bingo\Functional\PatternMatching\Internal
readIO
, ask
, Maybe::lift
, Either::lift
functionsFunctor
, ApplicativeFunctor
, and Monad
interfacesintersects
function in immutable Collection
match
to cmatch
liftM
monad helper functionK
function (K-combinator)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
Modified functions
map()
filter()
fold()
reject()
pluck()
pick()
any()
every()
partial()
indexOf()
indexesOf()
addKeys()
omit()
partialRight()
dropLeft()
dropRight()
mapDeep()
filterDeep()
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()
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()
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
Modified the following functions
Modified the following function(s)
Added new helper function(s)