【发布时间】:2012-02-23 10:18:28
【问题描述】:
我有一个函数列表,接受相同类型作为输入,不同类型作为输出
[ f_i : Mytype -> res:Sometype_i ]
哪个操作可以将它们合并为以下类型的一个函数?
f : Mytype -> \Product_i Mytype_i
同样,如果我有一个返回相同类型的函数列表
[ f_i : Mytype_i -> res:Sometype ]
哪个操作可以将它们合并为以下类型的一个函数?
f : \Product_i Mytype_i -> Mytype list
这将是一些规范的“preCombinator”或“postCombinator”。 (我想它在 FP 中有一个名字..)
【问题讨论】:
-
我不明白你的意思 - 你的语法不是 F# - 特别是
func不是 F# 关键字,也惯用 F# 写int list而不是[int]这令人困惑(我认为这就是你的意思) -
对不起,我对 fsharp 语法不太熟悉。我想您必须删除 func 才能将 fsahrp 输出为类型。我会编辑它。
-
如果您使用 F# 交互,它会为您打印出类型签名,这可以帮助您解决此类问题,如果您使用编译器,也可以使用
--sigfile选项
标签: f# functional-programming combinators