ocaml相关内容

Ocaml树简单功能

我创建了一棵树 type 'a tree = { mutable cont: 'a; mutable left: 'a bin_tree; mutable right: 'a bin_tree } and 'a bin_tree = Empty | Node of 'a tree;; 我正在努力处理一些简单的功能,例如 插入元 ..
发布时间:2020-05-19 19:21:22 其他开发

Ocaml在另一个类型声明中选择类型的子类型

给出两个类型声明,我想在另一个类型声明中使用一个类型声明的子类型.例如,假设我有红色,蓝色,黄色的颜色,那么在制作另一种类型时如何具体引用每个子类型?此示例并非专门针对我的问题,而是对我所面临问题的简化.我已经尝试了下面的示例,直接引用了Red等.我还尝试了红色的颜色,即: type colour = | Red | Blue | Yellow type shape = | Rectang ..
发布时间:2020-05-19 19:21:19 其他开发

函数bigAdd(两个int列表的加法)

我需要有关bigAdd的帮助,例如我应该为f base和arg确切放置什么.大加法应该采用2个int数组,然后将和输出到另一个int数组中,例如 # bigAdd [9;9] [1;0;0;2];; - : int list = [1;1;0;1] # bigAdd [9;9;9;9] [9;9;9];; - : int list = [1;0;9;9;8] 我到目前为 ..
发布时间:2020-05-19 19:21:15 其他开发

OCaml作为C库,您好世界示例

我希望通过将OCaml编译为包含C接口的静态或共享库来通过C ++调用OCaml代码. 此页面似乎在解释如何为以下内容创建C接口OCaml.但是我该怎么做并进行编译呢?以及如何获取要在我的C ++代码中加载的.h文件? 此外,有人可以解释一下这部分吗: OCaml运行时系统包括三个主要部分:字节码 解释器,内存管理器和一组C函数 实现原始操作.一些字节码指令是 提供来调用这些C函数,由 ..
发布时间:2020-05-19 19:21:11 其他开发

如果-else循环错误,则嵌套-ocaml

我正在尝试为我的代码制定一个多次if-else循环. 我以前的代码是: let rec appendtolist n list b = let f x = if ( b == 0 ) then x else (append (appendtocode n (List.hd list)) (appendtolist n (List.tl list ..
发布时间:2020-05-19 19:21:07 其他开发

两个列表的排列

我在OCAML中有一个char list.我想为char与true和false的每种组合创建一个( (char * bool) list) list. 我猜想我必须做的是List.fold_left之类的东西,但是我不确定如何实现它. 这是我尝试过的大纲(OCAML语法,但不可运行): let rec var_perm var_list options = match ..
发布时间:2020-05-19 19:21:04 其他开发

OCaml:预期Lwt表达的类型单位为Lwt.t

我想为我的OUnit测试写一个小的服务器,当客户端连接到套接字时,将数据发送到客户端并退出. 因为我想在测试中使用它,所以我认为应该在线程中创建服务器,并在线程中创建客户端.所以这是代码: open Sys open Unix open Lwt (* a simple server that send a message when a client connects * comp ..
发布时间:2020-05-19 19:21:00 其他开发

模块签名丢失类型精度

假设我有一个简单的模块MyFoo,看起来像这样 module MyFoo = struct type t = | A of string | B of int let to_string thing = match thing with | A str -> str | B n -> string_of_int n end 有了这个定义, ..
发布时间:2020-05-19 19:20:58 其他开发

在OCaml中的xml-rpc-light服务器中同步客户端调用

我正在使用 xml-rpc-light 库.我想拥有一个可以接收并发请求并收集所有请求以共同“状态"发送的数据的服务器.具体来说,为简化实际问题,假设服务器提供了功能 send : int -> bool 发送一个整数,如果成功则返回true,失败则返回false,并且服务器希望保留自启动以来曾经调用过的所有整数的列表(包括重复项). 我了解XML-RPC部分.我在OCaml中难以 ..
发布时间:2020-05-19 19:20:53 其他开发

ocaml上的Z3绑定

我当前正在使用ocaml 4.06.0,并且正在尝试使用Z3 sat求解器.我正在使用opam的绿洲来编译文件(这将成功构建所有文件).但是,当我运行生成的本机代码时,出现以下错误:error while loading shared libraries: libz3.so.我尝试重新安装z3软件包,但错误仍然存​​在.有人可以帮我解决这个问题,因为我不知道还能尝试什么? 解决方案 这是我 ..
发布时间:2020-05-19 19:20:51 其他开发

基本ocaml程序无法编译

我试图编写一段代码,检查一个句子是否是回文(如果我们不考虑空格和大小写),但是我的代码无法编译.我收到以下错误: File "main.ml", line 12, characters 0-2: Error: Syntax error 此错误对应于第二个程序,第12行是;;.在. 整个程序 let scan_word () = Scanf.scanf " %s" (fun x ..
发布时间:2020-05-19 19:20:45 其他开发

如何在OCAML中获取Uint64的二进制表示形式

假设我有这个 let var = Uint64.of_string "0x15E" ;; 如何转换以上编号.得到一个二进制字符串,将是 0b101011110 是否有任何图书馆可以帮助您呢? 关于此事的任何帮助将不胜感激. 解决方案 您似乎正在使用OPAM的uint模块. uint模块具有一个名为Uint64.to_string_bin的函数,听起来像它可以完成您 ..
发布时间:2020-05-19 19:20:43 其他开发

OCaml中的相互递归模块和函子

我已经定义了一个接口A,供多个函子使用,尤其是MyFunctor: module type A = sig val basic_func: ... val complex_func: ... end module MyFunctor : functor (SomeA : A) -> struct ... let complex_impl params ..
发布时间:2020-05-19 19:20:36 其他开发

eval`opam config env`有什么用?

在安装opam之后,它要求执行 eval`opam config env` . 它的确切用法是什么? 解决方案 它将设置环境变量,这对于工具链正常工作是必需的,例如CAML_LD_LIBRARY_PATH. 就像在Python的virtualenv中激活虚拟环境一样. 如果要查看准确设置了哪些变量,则可以在不使用eval部分的情况下运行它: $ opam confi ..
发布时间:2020-05-19 19:20:34 其他开发

OCaml语法陷阱:使用分隔符的多个让

我正在尝试自学OCaml.我在这个语法陷阱上一直疯了.有人告诉我,您可以使用“;"按顺序将表达式字符串连接在一起即expr1; expr2按预期执行第一个expr,然后执行第二个.出于某种原因,我无法让口译员同意以下输入内容 let x = 5 ; let y = 7;; 很奇怪,如果只有第一个expr是let,它就可以工作.所以 let x = 5 ; 7;; 通过,评估为7 ..
发布时间:2020-05-19 19:20:29 其他开发