grrr-amsterdam/garp-functional

实用库,采用函数式编程范式。

v6.2.0 2024-07-26 12:56 UTC

README

PHPUnit PHPCS PHPStan

Garp Functional

实用库,采用函数式编程范式。

文档

GRRR开发,倾注了❤️

理念

Garp\Functional是一个实用的函数库,致力于采用函数式范式。

  • 函数是纯函数,引用透明,无副作用。
  • 优先选择数据不可变性,而不是修改给定参数的现有属性。
  • 通常情况下,函数是柯里化的。几乎库中的所有函数都可以部分应用,直到这样做有意义。
  • 函数参数按顺序排列,以促进柯里化。数据通常是最后放入的,使得每个函数都可以作为原生array_maparray_filter等的好候选人,无需在调用周围创建闭包。
  • 提供高阶函数以填补空白。例如composepartialpartial_rightnot是您在自己的实现中使用的积木。
  • 不严格类型提示。我不在乎您是否将字符串或数组传递给prop,只要它允许通过方括号语法[]访问成员,我就允许这样做。关于PHP,没有什么比不能将Traversable对象扔到原生array_map中更让我烦恼的了。
  • 添加了类型类,扩大了函数的适用范围。除了原始类型之外,它们现在还可以与实现正确接口的您的对象一起工作。

用法

安装

composer require grrr-amsterdam/garp-functional

这就足够了,所有函数都可供您使用。

阅读文档以获取完整参考

谢谢

这个库受到了像HaskellClojure这样美丽的语言的启发,
以及出色的RamdaJS库。