【发布时间】:2017-05-24 15:38:18
【问题描述】:
我有以下类型:
type MultiSet<'a when 'a: comparison> = MSet of Map<'a, int>
我现在想用签名声明这种类型的 af map 函数:
('a -> 'b) -> Multiset<'a> -> Multiset<'b> when 'a : comparison and 'b : comparison
我试过了:
let map m ms =
match ms with
| MSet s -> MSet ( Map.map (fun key value -> m key) s )
但它有签名:
('a -> int) -> Multiset<'a> -> Multiset<'a> when 'a : comparison
当我想要第一个提到的函数签名时,我的实现有什么问题?
【问题讨论】:
标签: f# f#-interactive