ocaml

    7热度

    2回答

    我在官方文档中找不到任何size或len函数。什么是找到一个地图元素数量的简单方式创建使用: module M = Map.Make(String) 我在寻找类似M.size M.empty : 0。

    1热度

    1回答

    我想在OCaml中编写一个函数,给定矩阵中包含条目“u”,“d”,“l”,“r”和“x”的坐标“,返回true如果从该坐标的'方向'结束于”x“,或者否则为。 我的策略是检查,如果我之前访问过的当前单元格(如果是的话,返回假),通过传递矩阵的bool的吨通过,更新当前单元格的真值。 我现在的尝试是低于(ñ是我试图浏览样品基质): let n = [| [|"u"; "d"; "l"; "l"; "

    0热度

    1回答

    我想为我在OCaml中编写的应用程序编写一个GUI我主要使用Mac OS,所以我希望至少在此平台上看起来不错,但如果更好它可以是多平台的。我知道传统上,人们使用Lablgtk,或用不同的语言编写本地GUI。尽管我不熟悉最新的选项。首先,我可以将我的程序编译为JavaScript。这是否给我新的选择?这是足够稳定,可以使用没有太多的麻烦?更具体地说,我在考虑Electron。 基本上,我想知道不同的

    3热度

    1回答

    推导数据类型的to_string方法如何使用ppx和jbuilder推导to_string数据类型的方法? 例如,我试图用@@deriving show推导出一个数据类型的show_*方法。我有一个简单main.ml文件看起来像这样: open Core type foo = Bar | Baz [@@deriving show] let() = printf "%s\n" (s

    1热度

    1回答

    我想扩展一个模块,但我需要访问其私有组件。这里有一个例子: nat.mli: type t val zero : t val succ : t -> t nat.ml: type t = int let zero = 0 let succ x = x + 1 我想定义一个新的模块Ext_nat定义了double功能。我正在尝试做这样的事情。 ext_nat.mli: incl

    0热度

    1回答

    我不太明白下面的代码,它计算数字列表的平均值和标准偏差: let stats l = let rec helper rest n sum sum_squares = match rest with | [] -> let nf = float_of_int n in (sum /. nf, sqrt (sum_squares /. nf)) |

    1热度

    2回答

    type'a tree =空| 'a *'树*'树的节点;; 它是一个类型定义,其中a是一种类型的参数,tree是类型的名字吗? 在Node of,是Node一个内置类型的OCaml? of是什么意思? 谢谢。

    0热度

    1回答

    我有一个仿函数来从一个Comparable模块创建一个Heap模块,并且有一个多态函数将Prim的算法应用到任意标签的图上。理想情况下,我希望能够写出类似如下内容: let prim (graph: 'a graph)= let module EdgeHeap=Heap.Make( struct type t='a edge ... en

    0热度

    1回答

    我的教授今天向我们展示了这个代码,但我似乎无法理解它的结果: # let a = 2;; val a : int = 2 # let f = fun x -> fun y -> if x = y then a + 2 else a - 10;; val : f 'a -> 'a -> int = <fun> # f 1 (2 - 1);; - : int = 4 # let a = 1

    0热度

    1回答

    如果我有一个包含(.re)文件 module IntMap = Map.Make { type t = int; let compare = compare; }; type foo = IntMap.t string; 哪能的foo签名添加到接口的实现(.rei)文件?在与OCaml中的 module IntMap = Map.S with typ