将具有有效函数空间(如 ML)的语言核心嵌入到 Haskell 中有多实用?
正如 Moggi 20 年前提出的那样,像 ML 这样的语言的有效函数空间 -> 可以分解为标准的总函数空间 => 加上一个强大的 monad T 捕捉效果。 <代码&…
OCaml 封装模块有哪些好的用途?
最近的 OCaml 3.12 引入了一流打包模块的功能 : 一流的软件包模块。 新的类型表达式,用于打包模块:(module PT) 新的表达式,将模块打包为一流值:(m…
适用于 Windows 的带有 OpenGL 和 SDL 预编译发行版的 Haskell 或 Ocaml
我想学习 Ocaml 或 Haskell,并且我想通过编写一个简单的游戏来实现。显然,有一个小问题:没有人关心 Windows,而我想在 Windows 上本地实现这一点。…
理解 OCaml 中的函子
我在 OCaml 中遇到了以下函子问题。我粘贴一些代码只是为了让您理解。基本上, 我在 pctl.ml 中定义了这两个模块: module type ProbPA = sig include…
“附带 OCaml 电池”的稳定性和普及程度如何?推荐吗?
在使用 SML、Haskell 和 F# 多年之后,我刚刚回到 OCaml 进行一个新的小型研究项目。 我很快发现自己在使用 OCaml 库时错过了一些东西,而且我还错过…
OCaml 类型声明中的冗余 (ml/mli)
我试图了解有关 ocaml 模块及其编译的具体问题: 我是否被迫重新声明特定 .ml 实现中已在 .mli 中声明的类型? 仅举一个例子: (* foo.mli *) type fo…
OCaml 中的正则表达式
我想在 OCaml 中使用regexps,并且 Str 模块似乎提供了这些功能。 所以我尝试了一个简单的程序: open Str let regx = regexp "." 但它给了我以下错误…
OCaml 中的异构集
假设我有一个定义为的类型, type value = None | Int of int | Float of float | Complex of Complex.t | String of string | Char of char | Bool o…
这个 OCaml 代码有什么问题?
这段代码有什么问题? let vm_run vm = let guard = ref true in while !guard do if vm.cur_pc = -1 && not (Stack.empty vm.call_stack) then…