问题标签 [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.
emacs - 用 Lisp 以外的语言编写 Emacs 扩展
我想使用一个现有的应用程序(用 OCaml 编写)并为它创建一个 Emacs“接口”(例如,Emacs GDB 模式)。我宁愿在不编写大量 Lisp 代码的情况下做到这一点。在 MVC 术语中,我希望视图是 Emacs,但模型和控制器保持(主要)OCaml。
有人知道用 Lisp 以外的语言编写 Emacs 扩展的方法吗?这可以采用以某种其他语言绑定到 Emacs 扩展 API 的形式(例如,使 OCaml 成为一流的 Emacs 扩展语言)或 Emacs 交互模式,例如,扩展具有可以写入的管道Emacs Lisp 表达式并读出结果值。
parsing - 解决 yacc/ocamlyacc 中的 reduce/reduce 冲突
我正在尝试解析 ocamlyacc 中的语法(与常规 yacc 几乎相同),它支持没有运算符的函数应用程序(如在 Ocaml 或 Haskell 中),以及二进制和一元运算符的正常分类。我遇到了与“-”运算符的减少/减少冲突,该运算符可用于减法和求反。这是我正在使用的语法示例:
问题是当你得到一个像“a - b”这样的表达式时,解析器不知道它是否应该被简化为“a(-b)”(b的否定,然后是应用程序)或“a - b”(减法)。减法减法是正确的。我如何解决冲突以支持该规则?
ocaml - 在 OCaml 中处理循环依赖
我正在为一种实验语言编写解释器。该语言的三个主要结构是定义、语句和表达式。定义可以包含语句和表达式,语句可以包含定义和表达式,一种表达式可以包含语句。我使用联合类型来表示所有这些,因此我可以轻松地对它们使用模式匹配。理想情况下,我想将这些代码放在不同的文件中,但 OMake 抱怨循环依赖问题。据我所知,不允许跨模块进行循环类型定义。
我知道解决这个问题的唯一方法是一次定义所有三种类型:
似乎这要求类型的所有代码都在同一个文件中。有没有办法解决?您如何处理代码中的循环定义?
linux - GODI安装问题
我正在尝试在 linux (Ubuntu) 上安装GODI 。它是 ocaml 语言的库管理工具。我之前实际上已经安装过这个——两次,但不久前——没有任何问题——我记得——但这次我无法弄清楚我错过了什么。
我已将正确的目录添加到路径中,它们显示为 quick echo $path
,并godi_confdir
报告为:
(......并且该目录存在,并且存在 godi.conf 文件)。所以,我无法弄清楚为什么./bootstrap_stage2
不起作用。
linux - 知道 OCAML IDE 吗?
知道 OCAML/CAML IDE 吗?尤其是在 Linux 上运行的?
ocaml - 这是 OCaml 中二次贝塞尔函数的合理实现吗?
一位朋友在他的代码库中发现了一个二次贝塞尔曲线函数,该函数使用开关表的巨大老鼠巢来执行计算。他要求我找到一个简短的表达式,让他能够替换巨大的代码块。
为了满足两种不同的好奇心,我想我会尝试在 OCaml 中实现该功能。我是一个非常新手的 OCaml 程序员,我也不熟悉这个函数,而且这个具体的实现很难通过谷歌得到。
非常感谢对函数的性能/正确性及其实现的批评。
二次贝塞尔曲线的实现:
ocaml - 如何在 OCaml 中获取堆栈跟踪?
如果您要求恰到好处,Objective Caml 语言只会生成堆栈跟踪 - 字节码和本机代码的要求是什么?
f# - F# 更改为 OCaml
F# 是从 OCaml 派生的,但缺少或增加了哪些主要项目?具体来说,我很好奇可用于学习 OCaml 的资源是否对想要学习 F# 的人也有用。
functional-programming - 从 Ruby、Lisp、Haskell 和 Erlang 转向 Ocaml
我一直在阅读有关 Ocaml 始终如一的速度、快速原型设计能力和出色的内存管理的信息,并决定接受它。
因为我已经掌握了 Ruby、*lisp、Haskell 和 Erlang,所以我特别感兴趣的是我应该在 Ocaml 中注意哪些违反 KISS 的特性。
如果您以上述语言的背景开始 Ocaml,那么最令人沮丧的事情是什么?你是如何解决这个困难的?什么类比帮助你进入了语言的流程?
我也很想知道你是否已经做的不仅仅是简单地学习了 Ocaml,并且实际上已经为你的大部分编码问题转换了它。