ocaml 相关问题

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

是否可以使用Core编译OCaml代码而无需corebuild?

我使用的是Ubuntu 18.04。我安装了 OCaml 4.05(通过 apt-get)以及 utop 和 Core(通过 opam)。这是我的 ~/.ocamlinit 的内容: (* 由 OPAM 添加。*) 让() = 尝试 Topdirs。

回答 2 投票 0

无法在F*中编译Hello World

OCaml 和 F* 均已成功安装。我能找到的唯一类似于 Hello World 示例的是: 模块你好 打开FStar.IO 让 main = print_string “你好 F*! &qu...

回答 1 投票 0

opam升级到最新版本失败

在 Ubuntu 64 位版本 22.04 设备上,我安装了 opam 和 ocaml,其中 ocaml 版本为 4.08.0,我想将其升级到 5.1.0 以使用 Effects 包。但是,运行 opam

回答 1 投票 0

Stdio.printf 给出类型错误,而 Printf.printf 则没有

一个“小”ocaml printf 问题。 Printf 模块中有一个 printf 可以在 utop 甚至 ocaml (解释器)和 ocamlc (编译器)中工作 Stdio模块中有printf。这只适用于 utop ...

回答 1 投票 0

无法在 Windows 上安装 OCaml:权限错误

我正在尝试按照本指南在 Windows 上安装 OCaml。我所做的就是从这里下载最新的安装程序,但是当我尝试运行它时,我得到: 致命的[ebe9e0f2]。重命名 C:\Users\ 我正在尝试按照 this 指南在 Windows 上安装 OCaml。我所做的就是从here下载最新的安装程序,但是当我尝试运行它时,我得到: FATAL [ebe9e0f2]. rename C:\Users\<myusername>\AppData\Local\Programs\DiskuvOCaml\bin\bos-08440b.tmp to C:\Users\<myusername>\AppData\Local\Programs\DiskuvOCaml\bin\opam-real.exe: Permission denied 我尝试以管理员身份运行它,但出现相同的错误。我在任何地方都找不到有关该错误代码的信息,即使在故障排除指南中也是如此。有什么想法吗? 重新启动后重新启动设置时会发生这种情况。我已经删除了整个diskuv目录并重新启动。 如果您检查目录,目标已经存在,因此重命名失败 - 脚本应检查是否存在或文件移动。 我说删除整个目录,因为如果你只删除这一个目标,它只会转移到其他会出现相同错误的可执行文件。 这是截至 2023 年 3 月 Windows 10 的情况。 我无法添加评论,但我发现你还必须卸载 git,因为它使用 ocaml 安装它自己的 git。就像你不能拥有 mingw 一样,因为它安装了自己的版本。

回答 2 投票 0

如何从 OCaml 中的文本文件中逐行读取?

这就是我到目前为止所拥有的。这不是您所需要的一切吗?我不断收到错误“错误:未绑定模块标准” 让 r 文件= 让 chan = open_in 文件中 标准输入列表(chan)

回答 12 投票 0

从二维列表中提取元素

我有以下二维列表 [ [a1 ; a2 ; a3; a4]; [b1; b2; b3; b4]; [c1; c2; c3; c4]] 我有一个输入函数 F. 我有以下问题:给定一个 2d 列表 m 和一个函数...

回答 2 投票 0

OCaml 列表问题与 cons 运算符

这是我的代码: 让rec交集l1 l2 res = 将 l1 与 | [] -> 资源 | h1::t1-> ( 将 l2 与 | [] -> [] | h2 :: t2 - > 如果成员 h1 l2 =...

回答 1 投票 0

如何将用户定义类型更改为int?

type t=Num of int (*需要改为Num2 of int *) 类型 e = int 的数量 |添加 e*e 让rec intp e : t = |数字 n -> t (n) |加(e1,e2) -> int(intp e1) + int(intp e2) 我想加两个

回答 2 投票 0

为什么ocaml总是出现miss理解类型?

模块值 = 结构体 类型 t = Int of int 结尾 模块 M = Map.Make(字符串) 输入表达式 = |整数个数 | expr * expr 相加 type t = Value.t M.t (* Value.t 是 Int of int *) 让rec add_map (...

回答 2 投票 0

保持排序功能

我正在尝试解决一个名为“keepsorted”的函数的问题; 该函数必须从名为 l1 的列表中保留一个数量不断增长的子列表。 例如,如果我让 l1 = [1; 2; 0; 1; ...

回答 2 投票 0

词法与动态作用域

OCaml 表达式 let x =5 in (let x =6 in x) 对于动态作用域和词法(静态)作用域的评估是否不同? 什么时候表达式对于动态作用域和词法作用域的评估会有所不同......

回答 1 投票 0

oCaml 中的帕斯卡三角形:获取下一行作为列表

我正在尝试获取一个 oCaml 函数,它将帕斯卡三角形的下一行作为列表,例如: (下一行:int -> 列表 -> int 列表) 让 get_next_line [1;1] 返回 [1;2;1] 并...

回答 1 投票 0

返回未命名的和类型

我试图在函数内部创建一个本地求和类型,然后返回所述求和类型,而无需在 main 中声明它。这可能吗?我不相信是直接的,但我一直在玩

回答 1 投票 0

OCaml 返回未命名的总和类型

我试图在函数内部创建一个本地求和类型,然后返回所述求和类型,而无需在 main 中声明它。这可能吗?我不相信是直接的,但我一直在玩

回答 1 投票 0

使 OCaml 函数对于 int 列表和 float 列表具有多态性

有没有办法在 OCaml 中创建一个对整数和浮点数同样有效的多态 add 函数?例如,如果我有一个类似的函数: 部分和 [1; 2; 3; 4; 5]我应该得到[1; 3;...

回答 4 投票 0

从 oCaml 中的列表中获取两个最小值

我需要使用foldl编写一个函数twoMin: int list → int * int,它返回列表的两个最小值(不是元素)。您可以假设列表至少包含两个带有

回答 1 投票 0

用foldr(右起)声明foldl(左起)

我有foldl: 让 rec Foldl f lst acc = 将 lst 与 | [] -> ACC | hd::tl -> 折叠 f lst (f hd acc) 我有文件夹: let recfoldr f lst acc = 将 lst 与 | [] -> ACC |高清:...

回答 1 投票 0

使用foldl获取列表的平均值

我正在尝试使用以下帮助函数来获取列表的平均值: 让 rec 折叠 f l b = 将 l 与 | [] -> b | x :: l -> 折叠 l f l (f x b);; 让 avg l = Foldl (fun x acc -...

回答 1 投票 0

在 oCaml 中将一个列表附加到另一个列表

我需要一个尾递归函数,将 list1 附加到 list2 前面。 我这样尝试过 让rec附加lst1 lst2 acc = 将 lst1 与 | [] -> acc @ lst2 | hd::tl -> 追加 lst1 t...

回答 1 投票 0

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