gpt4 book ai didi

sml - 查询 SML/NJ REPL 的签名或结构?

转载 作者:行者123 更新时间:2023-12-05 00:54:48 25 4
gpt4 key购买 nike

有没有办法获得 signature 的列表? s 或 structure s 在 SML/NJ REPL 的顶级环境中可用吗?我正在寻找似乎在 sources.cm 中定义的签名/结构的列表。 sml 源目录中的文件。类似的东西

- signature s = LIST;

只列出顶级环境中的绑定(bind)。

最佳答案

您可以使用 internal structures SML/NJ 提供:

fun boundSignatures () =
let
fun isSignature symbol = Symbol.nameSpace symbol = Symbol.SIGspace
val signatures = List.filter isSignature (EnvRef.listBoundSymbols ())
in
List.app (fn s => print (Symbol.name s ^ "\n")) signatures
end

请注意,由于自动加载, EnvRef.listBoundSymbols不会为可用但尚未加载的模块返回符号名称:
- boundSignatures ();
ENVREF
val it = () : unit
- signature S = STATICENV;
[autoloading]
[autoloading done]
- boundSignatures ();
STATICENV
ENVREF
S
val it = () : unit

关于sml - 查询 SML/NJ REPL 的签名或结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39381370/

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