ocaml 相关问题

OCaml是一种严格的静态类型函数式编程语言,专注于表达性,正确性和效率。

为什么我的递归在 OCaml 中永远不会终止?

let qrec=Queue.create() 让rec队列addrec1 n= 如果 n==1 那么 队列.add 1 qrec 别的 Queue.add n qrec; 队列地址1 (n-1) 让()= 队列地址1 5; Queue.iter print_int qrec; VScode 告诉...

回答 2 投票 0

降级 Dune/Opam 或沙丘构建的解决方法

我刚刚在我的计算机上安装了 ocaml、opam 和 dune,并尝试使用运行一个新项目 $沙丘初始化项目计算器 $ cd 计算器/ $ 代码 . 它创建项目并在 VS 中打开它...

回答 1 投票 0

LLVM API 为 ptr 类型生成无效 IR

我正在使用 LLVM 15,我正在尝试将我自己的语言(在语法方面与 Pascal 非常相似)编译为 LLVM IR,并且我正在使用 Ocaml。 当我尝试创建一个结构并将其主体设置为 ha...

回答 1 投票 0

OCaml 中有返回特定类型值列表的函数吗?

在 Haskell 中,将 listify 与 Data 结合使用可以从深度嵌套结构中提取特定类型的值,而无需使用大量 getter。例如,使用以下代码: {-# LANGUAGE DeriveDataTypeab...

回答 1 投票 0

为什么dune无法识别ppx_jane?

我现在正在用OCaml v4.06编写一个项目,并且我已经安装了ppx_jane v0.11.0。实际上环境是基于docker镜像的。 现在这是沙丘文件 (立柱 (模块解析器)) (ocamllex

回答 1 投票 0

如何按名称和类型搜索 OCaml 函数

在 Haskell 中,查找函数信息主要有两种方法。 Hoogle 和 Stackage 等网站。这些网站提供两种主要类型的搜索: 搜索函数的名称。对于

回答 4 投票 0

如何使用menhir解析成GADT表达式?

我刚刚通过Real World OCaml了解了OCaml中的GADT,并想尝试将那里的第一个小语言转移到解释器中,从而使用menhir。 ast 的定义是

回答 1 投票 0

如何使用menhir解析成GADT表达式?

我刚刚通过Real World OCaml了解了OCaml中的GADT,并想尝试将那里的第一个小语言转移到解释器中,从而使用menhir。 ast 的定义是

回答 1 投票 0

如何在管理 .opam 文件的沙丘项目中添加库依赖项而不会出现中间构建错误?

dune将生成并更新项目的.opam文件,让您只需在dune-project中管理项目的依赖项。 然而,这似乎需要一个尴尬的步骤,当

回答 1 投票 0

为什么我的“map”处理元素的实现顺序是相反的?

这是我的地图实现: 令记录映射 f lst = 匹配 lst 与 | [] -> [] | hd :: tl -> f hd :: 地图 f tl 我尝试像这样运行它: (* 打印给定的 int,然后返回

回答 3 投票 0

在 OCaml 中访问 (int * float) 列表中的 float

我有一个类型为(int * float)列表的列表。 所以,据我了解(我是 OCaml/函数式编程的新手) 该列表的结构如下:[(3, 1.0); (4, 2.0); (6, 0.1)]。 现在我想加入...

回答 1 投票 0

在 ocaml 中一次匹配多个模式

具有自定义变体类型,如下所示: 输入 yolo = |字符串A | yolo 的 B | yolo * yolo 的 C | yolo * yolo 的 D 我还有一个函数可以对 yolo 类似实例执行一些操作...

回答 1 投票 0

应用函子时是什么导致这种类型不匹配?

我有以下文件: SetMaker.mli 模块类型元素 = sig 类型t val 创建:'a -> t 值比较:t -> t -> int val to_string : t -> 字符串 结尾 模块类型集 = sig

回答 1 投票 0

在 OCaml 签名中放置类型声明的正确方法是什么

我编写了以下两个文件,虽然它可以工作,但代码会重复这些长类型声明,这感觉很奇怪。另一方面,如果我删除任一模块类型声明...

回答 1 投票 0

在 OCaml 中使用 Z3 获得无界变量的解释

问题 我尝试使用 Z3 优化功能在检查可满足性时考虑一些目标。当我要求 Z3 最小化 x + y(其中 x > 0 且 y > 0)时,得到

回答 1 投票 0

是否有 OCaml 编译器利用 let ... 和绑定的未指定评估顺序?

根据OCaml手册 让pattern_1 = expr_1 and ...并且pattern_n = expr_n in expr ....以某种未指定的顺序评估expr_1 ... expr_n ....` OCaml 的编译器或 rutnime 是否需要

回答 1 投票 0

从单独的模块嵌套代数处理程序

OCaml 中的代数处理程序可以分离并放入不同的模块中,然后嵌套在其他文件中吗? 例如,假设您在名为 program.ml 的文件中有一个程序,该程序使用...

回答 1 投票 0

在 OCaml 的模块中使用中缀运算符

我正在尝试使用自己的中缀运算符定义一个标量签名 模块类型标量 = 信号 type t (* 标量元素的类型 *) 零值:t 价值...

回答 2 投票 0

反转链式地图?

函数式编程中一个非常常见的模式是将一系列调用链接到列表上的映射。一个人为的简单例子: [1; 2; 3] |> List.map (fun x -> x + 1) |> List.map (fun x -> ...

回答 1 投票 0

不确定数据类型上的 OCaml 函数

我有一个数据类型, 类型数据 = int 列表的 IntData |浮动列表的FloatData 我想编写一个带有签名映射的函数: data -> ('a -> 'a) -> data 它将应用给定的函数...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.