:tomato: 可组合计算
Tomato是一个可组合的,有状态的,流式计算库,它们与数据结构无关。
为什么?
与其为每种结构学习新的,不同的API,不如使用单个API来构建可应用于任何结构的计算。
计算为:
可组合的:将较小的计算组合为较大的计算。
流:它们在恒定的空间中运行,即它们不会在每个步骤中创建中间结构,例如数组映射,过滤器等。
纯:给定相同的输入,它们将产生相同的输出。
有状态的:他们可以保持内部状态,同时保持纯净。
可重用:因为它们是纯净的,所以单个计算可以在许多结构上安全地重用。
高效:他们可以提前终止(例如take ),而无需访问其他项目。
如何?
import { filter , lift , take , to , runIterable } from '@briancavalier/tomato'
const add1 = x => x + 1
const i