ocaml 相关问题

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

在 OCaml 中将两个列表添加在一起

let rec add_lists (xs : 浮动列表) (ys : 浮动列表): 浮动列表选项 = 将 xs、ys 与 | [], [] -> 无 | x :: xs,[] -> 无 | [], y :: ys -> 无 | x :: xs,y :: ys ->...

回答 1 投票 0

ocaml 折叠参数顺序

我在安装了 Jane street Base 库的 utop 中执行了以下命令 开放基地;; 列表.折叠;; 它打印 - : '一个列表 -> init:'accum -> f:('accum -> 'a -> 'accum) -> 'accum...

回答 2 投票 0

OCaml 中的“and”关键字是什么意思?

我对 OCaml 中的 and 关键字感到困惑。浏览这段代码,我发现 类型 env = { (*此处描述的本地环境字段*) } 和 genv { (* 全球环境领域...

回答 1 投票 0

(string * string) list -> (string -> string) 是什么意思?

这可能是一个超级愚蠢的问题,但我不明白。 什么是 (字符串*字符串)列表->(字符串->字符串)是什么意思? 特别是最后一部分(字符串 -> 字符串)。你怎样才能做到这一点? 我

回答 1 投票 0

OCaml 如何构建静态项目

我必须准备我的 OCaml 项目,以便在某些库不可用的系统上编译/链接/运行(yojson、curl、cryptokit,但它可能不是那么重要)我该怎么做? 到目前为止我正在使用...

回答 1 投票 0

将 OCaml 元组转换为函数参数

如果我有一个返回元组 (a * b * c) 的函数,并且我想立即将其传递给另一个类型为 a -> b -> c -> T 的函数,除了繁琐地扩展...

回答 1 投票 0

如何让这个表达式的类型为字符串而不是字符串 -> 字符串?

我正在学习 OCaml,但在函数式编程方面遇到了一些麻烦...... 我需要创建一个函数来替换给定整数列表的 a ,即字符串索引处的字符。 S...

回答 1 投票 0

使用 OCaml 反向应用运算符 |> 构造函数而不将其包装在 `fun ->` 声明中

我经常发现自己在构造函数作为参数传递给 List.find 等方法时使用 |> 运算符。例如,我有这个代码片段: 让 parse_test_header (标题:字符串

回答 1 投票 0

多态递归上下文中的局部抽象类型 VS 显式多态性

你能解释一下为什么这个程序会进行类型检查吗 让rec plop1:'a'b'c。 'a -> 'b * 'c = fun x -> (fst (plop1 ""), snd (plop1 1)) 而这个没有? 让rec plop2(t...

回答 1 投票 0

不确定如何读取 OCaml 函数类型签名

有人可以向我解释以下类型吗?具体来说就是返回类型。 字符串列表 -> (字符串 * 字符串 * 字符串) 列表

回答 1 投票 0

我不明白为什么最后一条语句的结果是6

令x = 2;; 让x = 3 让 y = x +1 在 x + 1 中;; 设 x = 3 且 y = x + 1 在 x + y 中;; 结果分别按每个表达式排序: 值 x :整数 = 2 -:整数=7 -:整数=6 你可以吗

回答 1 投票 0

为什么 OCaml 函数 `read_line` 的类型为 `unit -> string`?

我知道它的返回类型是读取到的字符串,但是为什么需要unit类型的参数呢?

回答 1 投票 0

Ocaml,我不明白为什么最后一条语句的结果是6

代码: 让x = 2;; 让x = 3 让 y = x +1 在 x + 1 中;; 设 x = 3 且 y = x + 1 在 x + y 中;; 结果分别按每个表达式排序: 值 x :整数 = 2 -:整数=7 - :在...

回答 1 投票 0

使函数在完成一些工作后返回自身

让 log x = print_int x;日志 ;; 日志111222;; 我期望 log 打印 111 并返回自身,然后在第二次调用时打印 222,但它没有按预期工作,我收到一条错误消息

回答 2 投票 0

未绑定模块Eio-posix

我正在尝试在 OCaml 代码中禁用 Windows 符号链接测试。但是,当我运行测试时,遇到以下错误消息: Unbound module: Eio_posix 我使用...安装了 Eio 库

回答 1 投票 0

是否可以在 OCaml 中编写递归单子解析器? [已关闭]

假设我们要解析这样的表达式: 指数 := 多 Mul := 添加 {'*' 添加} 添加 := 文字 {'+' 文字} 文字 := 数字 | '('Exp')' 在 Haskell 中,我们可以编写一个解析器,例如 exp = mu...

回答 1 投票 0

是否可以编写像 Haskell 中一样干净的 Monadic 解析器?

假设我们要解析这样的表达式: 指数 := 多 Mul := 添加 {'*' 添加} 添加 := 文字 {'+' 文字} 文字 := 数字 | '('Exp')' 在 Haskell 中,我们可以编写一个解析器,例如 exp = mu...

回答 1 投票 0

通过索引访问列表中的元素

在 OCaml 中,我想编写一个函数,返回列表给定索引处的元素。例如 [4;5;6] 0 -> 4,[4;5;6] 1 -> 5。我知道如何递归地执行此操作,但任何人都可以展示...

回答 3 投票 0

OCaml 函数需要澄清

我正在尝试编写一个 OCaml 函数,该函数接受列表列表并返回其中最长的列表,并且我不断发现 n.length 和 l.length 是未绑定的记录字段长度 让rec最长(ns...

回答 2 投票 0

此功能的复杂性

我想知道如何正确确定这个函数的复杂度: 让记录事实 n = 匹配 n 与 | 0 -> 1 | n -> n * 事实 (n - 1) 让最大的阶乘低于 n = 让...

回答 1 投票 0

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