【发布时间】:2023-03-06 22:43:01
【问题描述】:
【问题讨论】:
-
另见 Ramda 维基上的 description。
标签: functional-programming ramda.js hindley-milner
【问题讨论】:
标签: functional-programming ramda.js hindley-milner
((a, b) → a) → a → [b] → a
^^^^^^^^^^^^ ^ ^^^ ^
1 2 3 4
这是一个接受三个参数 (1) (2) (3) 并返回 a (4) 类型的值的函数:
a 类型的值
b 类型的值列表
reduce( (acc, x) => acc + x.length, 0, ["foo", "bar", "baz"]); //=> 9
// ^^^ ^ ^^^^^^^^^^^^^^ ^ ^^^^^^^^^^^^^^^^^^^^^ ^
// a b a a [b] a
// ((a -> b) -> a ) -> a -> [b] -> a
在这种情况下,a 代表 number 类型,b 代表 string 类型。
【讨论】:
我相信它的 Hindley-Milner 表示法:https://drboolean.gitbooks.io/mostly-adequate-guide-old/content/ch7.html
【讨论】: