gpt4 book ai didi

sml - 从多个文件编译 SML 项目

转载 作者:行者123 更新时间:2023-12-02 02:29:11 24 4
gpt4 key购买 nike

我有一个包含许多文件的项目,我希望它能够与最流行的编译器一起使用。

不幸的是,PolyML 和 SML/NJ 需要 use 语句,而 MosML 还需要使用 load 显式加载基础库结构,而 Poly 或 sml 都无法识别该结构。

最重要的是,MLton 和 MLKit 需要一个完全不同的 .mlb 文件,仅列出文件名,并且还需要显式导入基础库,这与 MosML 的方式不同:

$(SML_LIB)/basis/basis.mlb

是否有一些标准的通用“包含此文件”命令,如果不存在,是否有其他方法可以让所有编译器从一个入口点文件读取?

附注不介意有人对编译器差异进行小规模的咆哮。我总是对人们的想法感兴趣,但可用的信息并不多:-)

最佳答案

使用函数是标准通用的“包含此文件”命令,包含在Top-level environment

val use : string -> unit    implementation dependent

我一般在smlnj的CM中维护构建环境,然后使用 cm2mlb 转换为 MLB 。它将定义一个标志 MLton解析sources.cm文件时,以便您可以使用它来解决模块加载行为的差异。

#if(defined(MLton))
runmain.sml
#endif

还有一组sml-buildscripts其转换自mlb 到 Polyml。不过我对它们和 Polyml 都不熟悉CM 作为权威源很方便,因为它通过结构 CM 提供从 SML 的编程访问。

这就是cm2mlb使用的,所以虽然我不知道任何已经存在的从CM转换为polyml的东西,但它应该是可能的。

关于sml - 从多个文件编译 SML 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44103460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com