如何使F#代码更紧凑

如何使F#代码更紧凑,f#,pipe,composition,F#,Pipe,Composition,我想从: let a = fun x -> x |> f |> g 对这样的事情: let a = |> f |> g 我试过: let a = (<|) f |> g 设a=(g 和相似的 let a = fun x -> x |> f |> g 相当于 let a x = x |> f |> g 看起来您需要组合两

我想从:

let a = fun x ->
        x
        |> f
        |> g
对这样的事情:

let a = |> f
        |> g
我试过:

let a = (<|)  f 
              |> g
设a=(g
和相似的

let a = fun x -> x |> f |> g
相当于

let a x = x |> f |> g
看起来您需要组合两个函数
f
g
,以创建一个新函数
a
。您可以使用
>
操作符组合函数。您可以编写:

let a = f >> g
如果
f
g
是泛型函数,那么它将由于f#而无法编译。在这种情况下,您需要添加类型注释:

let a<'a> : ('a -> 'a) = f >> g
设a'a)=f>>g

当然,这不是真正的代码,我不是在寻找代码回顾,而是寻找一些模式。在