バイナリ関数f
に同じ引数を2回頻繁に適用したい場合、このconvert
関数/コンビネータの名前はありますか?この高次関数の名前はありますか?
let fixedMultiplication = convert (*)
fixedMultiplication 2 // returns 4
バイナリ関数f
に同じ引数を2回頻繁に適用したい場合、このconvert
関数/コンビネータの名前はありますか?この高次関数の名前はありますか?
let fixedMultiplication = convert (*)
fixedMultiplication 2 // returns 4
コンビネータは通常と呼ばされていること;
// convert: f: ('a -> 'a -> 'b) -> 'a -> 'b
let convert f x = f x x
使用例は、部分的に被乗数と乗数を固定する乗算演算子*
とconvert
を適用するかもしれませんその名前はRaymond Smullyanの本To Mock a Mockingbirdから来ています。これには、お互いの曲を模倣できる鳥の形で提示された、コンビネーション機能の周りに論理パズルがあります。 Suaveのthis usageと、コンビネータ機能の全部をリストアップしたthis page(「標準」のものとあまり知られていないもの)とSmullyanが彼の本で与えた名前を参照してください。
にAPLに×⍨
、又は*~
あります。
(a -> (a -> b)) -> (a -> b)
:
join
が
Monad m => m (m a) => m a
を入力しており、機能(すなわち((->) a
)入力タイプが固定されてモナドを形成するので、join
型を有します