Types 关于标准ML的签名匹配
据我所知,如果Types 关于标准ML的签名匹配,types,matching,sml,signature,Types,Matching,Sml,Signature,据我所知,如果候选者强于目标,则候选者签名与目标签名匹配。然后,如果结构some_结构实现签名候选,它也实现签名目标 但根据Robert Haper的第155页(11.02.11的1.2版): 火柴 signature MERGEABLE_INT_QUEUE = sig include QUEUE val merge : int queue * int queue -> int queue end 而在我看来,它应该是MERGEABLE\u INT\u QUEUE
候选者
强于目标
,则候选者
签名与目标
签名匹配。然后,如果结构some_结构
实现签名候选
,它也实现签名目标
但根据Robert Haper的第155页(11.02.11的1.2版):
火柴
signature MERGEABLE_INT_QUEUE =
sig
include QUEUE
val merge : int queue * int queue -> int queue
end
而在我看来,它应该是MERGEABLE\u INT\u QUEUE
匹配MERGEABLE\u QUEUE
。因为如果某些结构实现了可合并的内部队列
,那么它也实现了可合并的内部队列
我的理解有什么问题?如果一个结构实现了可合并_队列
,它提供了一个函数,该函数接受任意类型的一对队列(只要两个队列的类型相同),并生成一个新队列。特别是,它可以使用两个int-queue
并生成另一个int-queue
(因此它实现了MERGEABLE\u-int\u-queue
),但它也可以使用两个bool-queue
并生成一个合并的bool-queue
。对于任何类型的a'
,实现MERGEABLE\u QUEUE
的结构也实现了假设的MERGEABLE\u'\u QUEUE
另一种说法是不正确的。实现MERGEABLE\u INT\u QUEUE
的结构只能合并两个INT队列
,而不能合并任意类型的任何两个队列。如果结构实现MERGEABLE\u QUEUE
,则它提供一个函数,该函数可接受任意类型的一对队列(只要两个队列的类型彼此相同)并生成一个新队列。特别是,它可以使用两个int-queue
并生成另一个int-queue
(因此它实现了MERGEABLE\u-int\u-queue
),但它也可以使用两个bool-queue
并生成一个合并的bool-queue
。对于任何类型的a'
,实现MERGEABLE\u QUEUE
的结构也实现了假设的MERGEABLE\u'\u QUEUE
另一种说法是不正确的。实现MERGEABLE\u INT\u QUEUE
的结构只能合并两个INT队列
,而不能合并任意类型的任何两个队列。如果结构实现MERGEABLE\u QUEUE
,则它提供一个函数,该函数可接受任意类型的一对队列(只要两个队列的类型彼此相同)并生成一个新队列。特别是,它可以使用两个int-queue
并生成另一个int-queue
(因此它实现了MERGEABLE\u-int\u-queue
),但它也可以使用两个bool-queue
并生成一个合并的bool-queue
。对于任何类型的a'
,实现MERGEABLE\u QUEUE
的结构也实现了假设的MERGEABLE\u'\u QUEUE
另一种说法是不正确的。实现MERGEABLE\u INT\u QUEUE
的结构只能合并两个INT队列
,而不能合并任意类型的任何两个队列。如果结构实现MERGEABLE\u QUEUE
,则它提供一个函数,该函数可接受任意类型的一对队列(只要两个队列的类型彼此相同)并生成一个新队列。特别是,它可以使用两个int-queue
并生成另一个int-queue
(因此它实现了MERGEABLE\u-int\u-queue
),但它也可以使用两个bool-queue
并生成一个合并的bool-queue
。对于任何类型的a'
,实现MERGEABLE\u QUEUE
的结构也实现了假设的MERGEABLE\u'\u QUEUE
另一种说法是不正确的。实现MERGEABLE\u INT\u QUEUE
的结构只能合并两个INT队列
,不能合并任意类型的任何两个队列
signature MERGEABLE_INT_QUEUE =
sig
include QUEUE
val merge : int queue * int queue -> int queue
end