我经常想要将相同的参数两次应用于二元函数f
,这个convert
函数/组合符是否有名称?
// convert: f: ('a -> 'a -> 'b) -> 'a -> 'b
let convert f x = f x x
示例用法可能部分应用convert
和乘法运算符*
来修复被乘数和乘数:
let fixedMultiplication = convert (*)
fixedMultiplication 2 // returns 4
答案 0 :(得分:3)
该组合子通常称为warbler
;这个名字来自Raymond Smullyan的书To Mock a Mockingbird,它有一系列关于组合函数的逻辑谜题,以鸟类的形式呈现,可以模仿彼此的歌曲。请参阅Suave中的this usage和this page,其中列出了一大堆组合函数(“标准”函数和一些不太知名的函数),以及Smullyan在其中给出的名称。书。
答案 1 :(得分:1)