问题标签 [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.

0 投票
3 回答
6099 浏览

floating-point - 核心 OCaml 中浮点数的绝对值

我需要 OCaml 中浮点数的绝对值函数,而核心语言似乎没有,所以我写了以下内容:

这似乎适用于积极因素,但不适用于消极因素,理由是:

此表达式的类型为 float -> float 但此处与 int 类型一起使用

我的逻辑有什么错误?

0 投票
5 回答
713 浏览

interface - 具有不同特异性水平的 OCaml 类型

我正在尝试在 OCaml 中模拟一个接口并使用“类型”构造。我有两种类型:

...并想定义一个特定的 fooSansBar:

...但被告知 bar 字段未定义。由此看来,与我在匹配 fooSansBar 的签名中传递的值相反,系统认为我正在尝试创建一个 fooConBar。如果存在上面定义的两种类型,是否可以创建 fooSansBar?

此外(因为我是 OCaml 的新手)是否有更好的方法来模拟界面?

0 投票
2 回答
18412 浏览

ocaml - SML 和 OCaml 有什么区别?

是什么让这两种 ML 方言区分开来?

0 投票
1 回答
1085 浏览

compiler-construction - OCAML 中的循环依赖控制

[编辑]

谢谢你的回答,我的问题如下:

模块 A 称为 Map.ml

模块 B 称为 Player.ml

任何线索如何使它起作用。

顺便说一句,其他编程语言如何处理这个问题?我从不在乎 C# 中的这种依赖!!!! 谢谢

0 投票
3 回答
715 浏览

functional-programming - 把我的头绕在 OCaml 周围

我只是一个新手程序员(我这样做是为了好玩),我来自 Python/C++/其他程序语言的世界,以及解决问题的程序风格。在被 OCaml 的功能风格困扰了大约一周后,我爱上了 OCaml 的简单性。由于我不是工程师或数学家,有哪些有用的书籍或资源可以帮助我转变思维过程以更有效地思考?只是标准练习还是有书可以帮助我以这些方式思考?

0 投票
1 回答
233 浏览

design-patterns - OCaml 中的中介者设计模式

我正在尝试在 OCaml 中完成两个类之间的相互绑定(a la Mediator Pattern's),并且在编译时出现错误。

错误:类构造函数同事需要 1 个类型参数,但在这里应用于 0 个类型参数。

我不能说我对类定义中的 ['foo] 语法非常熟悉,但是在试图让调解员保留对所有同事和每个同事的引用时,我已经求助于它(无济于事)它各自的中介,同时也试图克服源代码中类定义的重要性。我该如何让同事保留对他们调解员的参考?

0 投票
1 回答
635 浏览

design-patterns - OCaml 中的访问者设计模式

我正在尝试使用 OCaml 的 OO 构造和类型系统来实现访问者设计模式,并且在实例化元素时遇到了问题。

我在编译时遇到的错误是:

但是,代码编译减去实例化salesman.

如何salesman在保持类功能的同时实例化?

通过调用 receiveEvaluation 收到编辑错误:

第二种对象类型没有方法visitAccountant

0 投票
8 回答
25254 浏览

haskell - 如果我已经知道 OCaml,我应该学习 Haskell 还是 F#?

我想知道我是否应该继续学习 OCaml 或切换到 F# 或 Haskell。

以下是我最感兴趣的标准:

  • 长寿

    • 哪种语言会持续更长时间?我不想学习可能在几年内被用户和开发人员抛弃的东西。
    • 从长远来看,Inria、微软、格拉斯哥大学会继续支持各自的编译器吗?
  • 实用性

    • 这样的文章让我害怕使用 Haskell。哈希表是快速检索的最佳结构。那里的 Haskell 支持者建议使用二叉树 Data.Map。
    • 除非好处很大,否则我不喜欢与庞大的 .NET 框架联系在一起。
    • 我希望能够开发的不仅仅是解析器和数学程序。
  • 精心设计

    • 我喜欢我的语言保持一致。

请用合乎逻辑的论据和文章引用来支持你的观点。谢谢你。

0 投票
5 回答
1488 浏览

haskell - 程序程序员的功能代码片段列表?

有时我仍然在尝试将程序代码转换为函数代码时遇到困难。

是否有映射到程序习语/片段的功能习语/片段列表?

编辑

由于似乎没有这些片段的集中网站,因此我将其变成了社区 wiki。请在此处粘贴任何程序 -> 功能片段。

0 投票
6 回答
9602 浏览

f# - 为什么 OCaml/F# 中的函数默认不递归?

为什么默认情况下 F# 和 OCaml(可能还有其他语言)中的函数不是递归的?

换句话说,为什么语言设计者认为明确地让你输入rec如下声明是个好主意:

并且默认不赋予函数递归能力?为什么需要显式rec构造?