问题标签 [utop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
9600 浏览

installation - OCaml:安装后无法运行 utop

我正在尝试通过 Real World OCaml 书来学习 OCaml。他们有一个指南,我应该通过它来安装 Core 包和 utop。然而,虽然我似乎使用 Opam 成功安装了这两个,但当我尝试使用它们时它们都不起作用。

我知道它们已安装,因为当我尝试再次安装它们时,我收到以下消息:

但是,当我尝试输入“utop”启动 utop 时,它不起作用。

当我尝试打开核心时也是如此:

这里发生了什么?我是编程新手,所以可能有一些关于安装的东西我只是不理解。

0 投票
1 回答
638 浏览

ocaml - 将输入历史从 utop 保存到文件

在 OCaml 顶层 utop 中,是否可以在会话期间将用户输入历史记录保存到文件中?

0 投票
2 回答
3690 浏览

ocaml - “错误:应用于此参数的函数具有类型...”使用命名参数时

我目前正在研究“Real Word OCaml”,带有命名/标记参数的基本示例之一似乎不起作用(使用 utop 4.01.0):

产生:

然而:

产生预期的输出[5; 4; 1]

caml.inria.fr提到:

在核心语言中,与大多数语言一样,参数是匿名的。

这是否意味着我必须包含某种外部库才能使此代码正常工作?

编辑 这是我的~/.ocamlinit文件(根据本书的安装说明):

0 投票
1 回答
220 浏览

ocaml - OCaml 递归打印到顶层

我在 OCaml 中编写了一些代码,它们执行类似于以下的操作

此代码在顶层完美运行,但似乎时间正在打印到缓冲区而不是立即打印到屏幕上。当我给顶层另一个命令时,缓冲区中的所有时间都会立即打印到屏幕上。

如何更正此问题,以便每次print_time()调用时将时间打印到顶层,而不是在我给顶层命令时打印?

示例:如果我运行程序,然后等待 2 分钟,然后在顶层输入内容,我会得到以下输出。如果我没有在顶层输入任何内容,那么我只会收到第一次消息。

此外,这个“循环”main()在本机编译代码中只工作一次(不会递归调用自身),我不知道如何纠正它。

0 投票
1 回答
1592 浏览

macos - (wrong-type-argument arrayp nil) 启动 emacs

Emacs 24 和 Mac OSX Mavericks,我的 emacs 文件如下:

解决此错误的任何帮助都会很棒。谢谢!

Nots:我确实有 tuareg 模式,我说的是(in~/.elisp/tuareg)。执行以下操作后,我开始收到此错误:

不知道出了什么问题,但在安装这些之前我有基本相同的 emacs 文件并且没有问题。现在在 emacs 中,当我尝试评估 ocaml 文件时,utop 也无法正常运行。

0 投票
2 回答
713 浏览

ocaml - “未绑定类型构造函数_no_unused_value_warning”(仅当#use ing 文件时)

考虑这个非常基本的模块定义:

当我在 utop 提示符下直接输入时,一切正常:

但是,当我尝试#use使用包含完全相同定义的文件时,Unbound type constructor _no_unused_value_warning_出现错误:

(第 2 行是type config with sexp

版本信息:The universal toplevel for OCaml, version 1.7, compiled for OCaml version 4.01.0

更新:

我开始赏金,因为我真的很感兴趣

  • 知道这是否是 OCaml 错误
  • 我的代码的合理解决方法/修复
0 投票
1 回答
63 浏览

functional-programming - OCaml:带条件的简单函数不起作用

我是 OCaml 的新手,我只是在学习它。我正在尝试执行一个简单的函数来计算(a+b)^2(a-b)^2基于ab

我正在尝试具有如下功能

返回警告

所以我尝试了下面的一个:

这也警告了一些事情。因此,我继续检查该函数是否至少可以工作,但它返回错误的结果 -

我不确定我做错了什么,任何帮助将不胜感激

0 投票
1 回答
81 浏览

ocaml - _no_unused_value_warning_ `with sexp` 在 utop

我在 utop 中添加了等require "sexplib.syntax";;core

如果我输入

在 utop 中,它说

模块类型 Printer = sig type t val t_of_sexp : Sexp.t -> t val sexp_of_t : t -> Sexp.t end

好的,这没问题。

但是如果我将上面的代码保存到一个ml文件中并在 utop 中使用它,它会给出错误:

错误:未绑定类型构造函数_no_unused_value_warning_

为什么?这是utop中的错误吗?我该如何举报?

0 投票
1 回答
4019 浏览

ocaml - 错误:尝试从命令行使用 utop 打开核心模块时未绑定模块核心

opam我正在尝试通过设置,utop和 Core 模块来跟随 Real World OCaml 。我已经按照这些指示取得了一些成功。特别是,当我在utop没有指定要加载的文件的情况下运行时,我可以毫无问题地加载 Core:

到目前为止,一切都很好。现在,如果我尝试使用相同的代码从命令行加载脚本:

我认为这是我在某处犯的配置错误,但我不太确定在哪里。

设置详细信息

我试图重新安装ocaml, opam, utop,core但无济于事。我知道opam init在设置过程中进行了以下配置更改:

〜/ .ocamlinit:

~/.bash_profile

我正在运行 Arch Linux,并按照opam我不知道的问题通过 AUR 进行安装。我还能够根据安装说明构建和安装所有软件包,而没有任何我知道的错误。

0 投票
2 回答
81 浏览

ocaml - utop 中的模式匹配更严格?

比如有一个函数,测试一个列表是否单调递增,源码和测试用例是:

编译并运行代码:

但是,当我想在 utop 中使用此功能时,它显示: