我最终试图做的事情是1)限制对模块(因此mli文件)的可见性和2)定义一个函子,其中参数具有“规范实现“,它作为一个ml/mli对生活在源码树中,并坚持参数具有与此规范实现相同的形状。 假设我有一个包含字符串连接 (* concat.ml *)
type t = string
let concat x y = x^y
单一功能的文件concat.ml和我有一个接口,它 (* concat.
我已经开始阅读Thinking Forth。在这本书中,作者提到了一个三行模块系统,并参考了Forth会议的会议记录。从第14页开始的Here's a PDF containing a description of the module system,(打印132)。 下面是如何使用三个定义的词INTERNAL,EXTERNAL和MODULE的说明。 模块是单词INTERNAL和 MODULE之间