ocaml

    4热度

    1回答

    我是Ocaml的新手,当我为lambda微积分编写解释器时遇到了一个奇怪的错误。 type exp = Num of int | Str of string | Err | Var of string | Lambda of string * exp | App of exp * exp ;; type value = N

    0热度

    2回答

    所以我想为我的类编写一些代码,它会输出一个n阶斐波那契数列中第一个k项的int列表。 因此,对于那些你不知道,正一步斐波那契序列是当您添加上述N个前得到下一个, so for n=1 it'd be 1,1,1,1,1,... n=2, it'd be 1,1,2,3,5,... n=3 it'd be 1,1,2,4,7... 我的方法是用启动基地的情况下,所以 let rec n_st

    0热度

    1回答

    我运行Ubuntu,安装ocaml的,并写了下面的脚本,因为我发现它在一组指令(课程笔记): ;; open Assert ;; print_int 1 将该文件保存为test.ml。然后,在一个端I导航到包含该文件的文件夹,并执行 $ ocaml test.ml 含文件夹具有assert.ml文件和assert.mli。我在这些课程笔记和Ocaml的网站上查看了一些文档,除了尝试上述内

    1热度

    1回答

    我使用痛饮,并在头文件evidence.h,我有以下几点: namespace dai { class Evidence { public: typedef std::map<Var, size_t> Observation; }; } 而且在痛饮接口文件dai.i,我有以下几点: //The types are defined in both

    0热度

    2回答

    我是功能编程(RationalML/OCaml)的新手。 我有一个浮动列表。我想获得列表中的前三个非零项目,而不是更多。项目可以是正数,负数和零。 在前三个非零浮点数被提取前,如何限制递归? 我的想法做类似的: switch (list) { | [first, second, third, ...rest] => (first +. second +. third) /. 3.0

    4热度

    1回答

    创建类 我知道OCaml中,我们可以创建一个类执行以下操作: class stack_of_ints = object (self) val mutable the_list = ([] : int list) (* instance variable *) method push x = (* push method *) the_list <

    8热度

    2回答

    此代码编译的F#就好以及OCaml的: let testmatch k = match k with | jqk3jtl23jtlk123 -> true 我已经在这两个FSI和UTOP测试。它总是返回true。 jqk3jtl23jtlk123是完全随机的,其类型推断为'a。即使我约束k与数据类型(如let testmatch (k: int) =)汇编(虽然明显制约te

    0热度

    2回答

    我有一个函数can_obtain,以证明如果一个串init可以转化为字符串target与下列条件: 串init和target仅由字母“X”的和/或 “Y”(如 “XY”, “XXX”, “YYXY”, “Y” 等) 串target比init 选择不再去target是 串连 “X” 到init或 反向并连接 “Y” 到init 下面是函数,具有用于去除简洁琐碎的操作,如containsreverse

    1热度

    1回答

    当未结合的值我有以下的类,它有一个方法,了methodA,我试图(使用原因)来调用: class abstractProductA = { as self; pub methodA => "name"; }; abstractProductA#methodA; 的编译器输出以下错误: Unbound value abstractProductA 任何建议将更受欢迎

    0热度

    1回答

    我最近为大学课程安装了Ocaml及其Merlin插件。我正在使用Vim作为文本编辑器。我听说可以将Merlin配置为在保存时自动编译.ml文件,但我无法通过网络调查找到任何有关该文件的信息,而教授使用的是emacs,因此他不能告诉我有关如何激活此功能。