Ocaml - 我如何显式声明列表可变类型

Ocaml - how do I explicitly declare the list mutable type

我试过类似的方法:

let lchars : char ref list = ref [];;

但是不行...

let lchars : char list ref = ref[];;

参数化的 OCaml 类型以后缀顺序指定,因此类型 char ref list 首先是一个列表。换句话说,它是对 char:

的引用列表
let (x: char ref list) = [ ref 'a'; ref 'b']

同样,类型char list ref首先是引用。这是对字符列表的引用:

let (y: char list ref) = ref ['a'; 'b']

您想要这些类型中的第二种,但您的代码指定了第一种。