如何以点自由风格实现以下功能组合?

时间:2015-05-02 11:10:08

标签: f# functional-programming pointfree

下面是一个F#代码片段,我试图消除对输入参数的依赖并执行某种功能组合:

let h x1 x2 = (*) (exp x1) (sin x2) // how to reduce to point free style

我试过了:

let h1 = (*) exp  sin   
let h2 = exp * sin  
let h3 = ((*) << exp) << sin 

编译器对前两个不满意,最后一个没有产生预期的结果。

我实际上是在尝试解决更常见的功能组合问题(使用F#提供的任何工具),总结如下:

f1: float -> float
f2: float -> float
f3: float -> float -> float
How to construct h = f3(f1(x),f2(y)) represented mathematically.

0 个答案:

没有答案