grrr-amsterdam / garp-functional
实用库,采用函数式编程范式。
v6.2.0
2024-07-26 12:56 UTC
Requires
- php: >=7.2.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^7.0 | ^9.5
- squizlabs/php_codesniffer: ^3.5
- dev-main
- v6.2.0
- v6.1.0
- v6.0.0
- v5.0.3
- v5.0.2
- v5.0.1
- v5.0.0
- v4.0.2
- v4.0.1
- v4.0.0
- v3.1.1
- v3.1.0
- v3.0.2
- v3.0.1
- v3.0.0
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v0.1.13
- v0.1.12
- v0.1.11
- v0.1.10
- v0.1.9
- v0.1.8
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- dev-functors
- dev-php71-update
- dev-lenses
This package is auto-updated.
Last update: 2024-09-26 13:22:34 UTC
README
Garp Functional
实用库,采用函数式编程范式。
由GRRR开发,倾注了❤️
理念
Garp\Functional
是一个实用的函数库,致力于采用函数式范式。
- 函数是纯函数,引用透明,无副作用。
- 优先选择数据不可变性,而不是修改给定参数的现有属性。
- 通常情况下,函数是柯里化的。几乎库中的所有函数都可以部分应用,直到这样做有意义。
- 函数参数按顺序排列,以促进柯里化。数据通常是最后放入的,使得每个函数都可以作为原生
array_map
、array_filter
等的好候选人,无需在调用周围创建闭包。 - 提供高阶函数以填补空白。例如
compose
、partial
、partial_right
或not
是您在自己的实现中使用的积木。 - 不严格类型提示。我不在乎您是否将字符串或数组传递给
prop
,只要它允许通过方括号语法[]
访问成员,我就允许这样做。关于PHP,没有什么比不能将Traversable
对象扔到原生array_map
中更让我烦恼的了。 - 添加了类型类,扩大了函数的适用范围。除了原始类型之外,它们现在还可以与实现正确接口的您的对象一起工作。
用法
安装
composer require grrr-amsterdam/garp-functional
这就足够了,所有函数都可供您使用。