gpt4 book ai didi

ocaml - utop 和打印构造函数

转载 作者:行者123 更新时间:2023-12-04 07:45:29 25 4
gpt4 key购买 nike

utop 中加载代码时(或 dune utop )并打印任何数据构造函数,如 Bin.Stop#show Bin.Stop;;我撞车了。

utop # #show Bin.Stop;;
>> Fatal error: Ident.rename Bin.nat
Fatal error: exception Misc.Fatal_error

~ via 🐫 v4.12.0 took 4m41s

ocaml不会崩溃。
这是一个错误还是有明显的理由为什么这是非法的?
(* SOTypeLevelNat.ml *)
module Bin : sig
type stop = Qasdpaokdsap

type 'a zero = Sasddkasdo

type 'a one = Zoldjsfoij

type _ nat =
| Stop : 'stop nat
| Times2 : 'n nat -> 'n zero nat
| Times2Plus1 : 'n nat -> 'n one nat
end = struct
type stop = Qasdpaokdsap

type 'a zero = Sasddkasdo

type 'a one = Zoldjsfoij

type _ nat =
| Stop : 'stop nat
| Times2 : 'n nat -> 'n zero nat
| Times2Plus1 : 'n nat -> 'n one nat
end
utop # #use  "SOTypeLevelNat.ml";;
module Peano :
sig
type 'a s = S
type z = Z
type 'n nat = Zero : 'a nat | Succ : 'n nat -> 'n s nat
end
module Bin :
sig
type stop = Qasdpaokdsap
type 'a zero = Sasddkasdo
type 'a one = Zoldjsfoij
type _ nat =
Stop : 'stop nat
| Times2 : 'n nat -> 'n zero nat
| Times2Plus1 : 'n nat -> 'n one nat
end
打印一个类型,比如 nat工作得很好
utop # #show Bin.nat;;
type nonrec _ nat =
Stop : 'stop Bin.nat
| Times2 : 'n Bin.nat -> 'n Bin.zero Bin.nat
| Times2Plus1 : 'n Bin.nat -> 'n Bin.one Bin.nat

最佳答案

utop 中发生的顶级指令的 fatal error 而不是 ocamlutop 中的错误.
确实,utop部分重新实现了 OCaml REPL 的驱动程序逻辑,并且可能会发生 utop 的代码最终与底层 OCaml 的编译器库稍微过时的情况。
请在以下位置报告此类问题:https://github.com/ocaml-community/utop/issues

关于ocaml - utop 和打印构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67215748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com