OCaml имеет встроенные списки:
Список целых чисел:
[1; 2; 3; 4; 5] ;;
возвращает: int list = [1; 2; 3; 4]
Список строк:
[ «Это», «что», «другой»] ;;
возвращает: string list = ["this"; "тот"; "Другой"]
Или вы можете использовать оператор cons :: для создания списков:
1 :: 2 :: 3 :: [] ;;
возвращает: int list = [1; 2; 3]
Чтобы получить голову (первый элемент) списка:
List.hd [1; 2; 3]
возвращает 1
Чтобы получить хвост списка (все элементы после первого элемента)
List.tl [1; 2; 3]
возвращает: int list = [2; 3] * 1 018 *
Кроме того, вы можете посмотреть, как списки реализованы в стандартной библиотеке OCaml, посмотрев:
[расположение установки для OCaml] /lib/ocaml/std-lib/list.ml