我想将签名/结构对放在结构中,如下所示:
structure Outer :> OUTER =
struct
signature INNER =
sig
...
end
structure Inner :> INNER =
struct
...
end
end
但即便是最简单的例子也会产生错误:
../test.sml:1.18-2.6 Error: syntax error: replacing STRUCT with EQUALOP ../test.sml:5.6 Error: syntax error found at END
结构内部似乎不允许签名。实现此功能的最佳方法是什么?
答案 0 :(得分:2)
虽然结构嵌套在SML中,但签名却没有。目前尚不清楚您想要实现的功能:
隐藏命名签名是不可能的。
INNER
签名依赖于结构Outer
中声明的类型是通过 fibration (where type
子句)实现的。 Harper和Pierce在Benjamin Pierce关于编程语言高级类型的书中的教程中有一篇关于纤维化的篇幅。
答案 1 :(得分:2)
您也可以内联内部签名,如
aws-exports.js