问题标签 [ocaml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
floating-point - 核心 OCaml 中浮点数的绝对值
我需要 OCaml 中浮点数的绝对值函数,而核心语言似乎没有,所以我写了以下内容:
这似乎适用于积极因素,但不适用于消极因素,理由是:
此表达式的类型为 float -> float 但此处与 int 类型一起使用
我的逻辑有什么错误?
interface - 具有不同特异性水平的 OCaml 类型
我正在尝试在 OCaml 中模拟一个接口并使用“类型”构造。我有两种类型:
...并想定义一个特定的 fooSansBar:
...但被告知 bar 字段未定义。由此看来,与我在匹配 fooSansBar 的签名中传递的值相反,系统认为我正在尝试创建一个 fooConBar。如果存在上面定义的两种类型,是否可以创建 fooSansBar?
此外(因为我是 OCaml 的新手)是否有更好的方法来模拟界面?
ocaml - SML 和 OCaml 有什么区别?
是什么让这两种 ML 方言区分开来?
compiler-construction - OCAML 中的循环依赖控制
[编辑]
谢谢你的回答,我的问题如下:
模块 A 称为 Map.ml
模块 B 称为 Player.ml
任何线索如何使它起作用。
顺便说一句,其他编程语言如何处理这个问题?我从不在乎 C# 中的这种依赖!!!! 谢谢
functional-programming - 把我的头绕在 OCaml 周围
我只是一个新手程序员(我这样做是为了好玩),我来自 Python/C++/其他程序语言的世界,以及解决问题的程序风格。在被 OCaml 的功能风格困扰了大约一周后,我爱上了 OCaml 的简单性。由于我不是工程师或数学家,有哪些有用的书籍或资源可以帮助我转变思维过程以更有效地思考?只是标准练习还是有书可以帮助我以这些方式思考?
design-patterns - OCaml 中的中介者设计模式
我正在尝试在 OCaml 中完成两个类之间的相互绑定(a la Mediator Pattern's),并且在编译时出现错误。
错误:类构造函数同事需要 1 个类型参数,但在这里应用于 0 个类型参数。
我不能说我对类定义中的 ['foo] 语法非常熟悉,但是在试图让调解员保留对所有同事和每个同事的引用时,我已经求助于它(无济于事)它各自的中介,同时也试图克服源代码中类定义的重要性。我该如何让同事保留对他们调解员的参考?
design-patterns - OCaml 中的访问者设计模式
我正在尝试使用 OCaml 的 OO 构造和类型系统来实现访问者设计模式,并且在实例化元素时遇到了问题。
我在编译时遇到的错误是:
但是,代码编译减去实例化salesman
.
如何salesman
在保持类功能的同时实例化?
通过调用 receiveEvaluation 收到编辑错误:
第二种对象类型没有方法visitAccountant
。
haskell - 如果我已经知道 OCaml,我应该学习 Haskell 还是 F#?
我想知道我是否应该继续学习 OCaml 或切换到 F# 或 Haskell。
以下是我最感兴趣的标准:
长寿
- 哪种语言会持续更长时间?我不想学习可能在几年内被用户和开发人员抛弃的东西。
- 从长远来看,Inria、微软、格拉斯哥大学会继续支持各自的编译器吗?
实用性
- 像这样的文章让我害怕使用 Haskell。哈希表是快速检索的最佳结构。那里的 Haskell 支持者建议使用二叉树 Data.Map。
- 除非好处很大,否则我不喜欢与庞大的 .NET 框架联系在一起。
- 我希望能够开发的不仅仅是解析器和数学程序。
精心设计
- 我喜欢我的语言保持一致。
请用合乎逻辑的论据和文章引用来支持你的观点。谢谢你。
haskell - 程序程序员的功能代码片段列表?
有时我仍然在尝试将程序代码转换为函数代码时遇到困难。
是否有映射到程序习语/片段的功能习语/片段列表?
编辑
由于似乎没有这些片段的集中网站,因此我将其变成了社区 wiki。请在此处粘贴任何程序 -> 功能片段。
f# - 为什么 OCaml/F# 中的函数默认不递归?
为什么默认情况下 F# 和 OCaml(可能还有其他语言)中的函数不是递归的?
换句话说,为什么语言设计者认为明确地让你输入rec
如下声明是个好主意:
并且默认不赋予函数递归能力?为什么需要显式rec
构造?