And*_*dry 3 functional-programming sml
考虑Standard-ML中的这种数据类型:
datatype 't options = Null
| Some of 't
Run Code Online (Sandbox Code Playgroud)
我还有其他数据类型:
datatype option = Apple | Orange | Melon
Run Code Online (Sandbox Code Playgroud)
我想指定datatype options只应接受datatype option作为其输入类型't.这该怎么做?
SML中没有这样的功能,也没有我听说过的任何SML方言的扩展.
您可以将更专业的版本定义为类型别名:
type option_options = option options
Run Code Online (Sandbox Code Playgroud)
如果需要,您可以在模块的签名中创建该类型的抽象,但这将隐藏构造函数.