首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MetaOCaml不合格构造函数

MetaOCaml不合格构造函数
EN

Stack Overflow用户
提问于 2015-06-24 16:27:20
回答 1查看 85关注 0票数 2
代码语言:javascript
复制
type t = A;;
.<A>.;;

会产生错误Unqualified constructor A cannot be used within brackets. Put into a separate file.

造成这个错误的根本原因是什么?

一些参考资料可以找到这里

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-24 19:08:11

这是官方的解释- http://okmij.org/ftp/ML/MetaOCaml.html#ctors

我非常模糊的猜测是,这种限制来自于需要确保在编译时和运行时使用相同的变体定义(因为相同的代码可以而且将在运行时的不同时间进行编译),通过将类型声明放在单独的模块中,它们会被编译器散列和检查,并进行通常的接口匹配检查。此外,我认为阴影的可能性在这里起到了一定的作用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31032002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档