Ocaml - как явно объявить изменяемый тип списка - PullRequest
0 голосов
/ 17 июня 2020

Я пробовал что-то вроде:

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

, но не работает ...

Ответы [ 2 ]

2 голосов
/ 17 июня 2020

Параметризованные типы 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']

Вы хотели второй из этих типов, но ваш код указывает первый тип.

0 голосов
/ 17 июня 2020
let lchars : char list ref = ref[];;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...