我们阅读了每一条反馈,并非常认真地对待您的意见。
要查看所有可用的限定符,请参阅我们的文档.
对这个项目有疑问吗?注册一个免费的GitHub帐户以打开一个问题,并联系其维护者和社区。
单击“注册GitHub”,表示您同意我们的服务条款和隐私声明。我们偶尔会向您发送与帐户相关的电子邮件。
已经在GitHub上了?登录到您的帐户
110.96
远景
x86(32位)
核心系统
次要
当导出的代码(即通过exportML或exportFn)调用“use”时使用的代码引发异常,我们得到的异常不是引发了,但改为ExnDuringExecution。
这发生在exportFn导出的任何代码中,也发生在代码中如果在REPL返回到输入控制台。
其他评论:有一个解决方法:始终使用导出ML并使用脚本发送控制台输入以启动程序。但那真的很笨重。
导出ML
$sml@SMLload=错误.x86-win32[打开bug2.sml]Exn执行期间
无响应
(*错误1.sml*) 乐趣 foo公司_ =(使用"错误2.sml" 手柄exn=>打印(通用消息exn);操作系统。流程.成功);SMLofNJ.出口Fn("缺陷",foo);
(*错误2.sml*)(提升Div):单位
crary@cs.cmu.edu
Karl Crary通过网络表单提交crary@cs.cmu.edu2022-03-28 14:53:00
这不是一个bug,而是对“use”函数的“误用”,该函数仅用于顶级REPL。
文本已成功更新,但遇到以下错误:
我将此问题归类为“功能”,而不是错误。
问题的根源是以下因素的结合使用和导出ML(我假设使用正在应用于错误1.sml以构建堆映像)。实施使用函数跟踪是否在的另一个实例中调用使用.自导出ML保留此状态使用属于错误2.sml看起来好像嵌套在的另一个实例中使用。彻底的解决方法是延迟导出ML直到编译完代码。
使用
错误1.sml
错误2.sml
(*错误1.sml*) 乐趣 足球_ = (使用"错误2.sml" 手柄exn=>打印(通用消息exn);操作系统。过程.成功);乐趣 出口()=SMLofNJ.出口Fn("缺陷",foo);
然后可以在shell中执行以下操作:
回声 "导出();" |sml错误1.sml
对不起,出了点问题。
JohnReppy公司
没有分支或拉请求