Skip to content

Добро пожаловать на OCamlPortal 🐫!


Рады всех видеть на нашем веб-сайте, посвящённому языку программирования OCaml, его экосистеме и смежным вещам. Тут вы найдете рецепты, статьи, примеры и многое другое, в том числе горький опыт его авторов.

ocaml
let rec chunks = function
  | [] -> []
  | [_] -> failwith "not have item for pair"
  | x::y::tl -> (x, y) :: chunks tl 
(* val chunks : 'a list -> ('a * 'a) list = <fun> *)

List.init 10 Fun.id |> chunks
(* - : (int * int) list = [(0, 1); (2, 3); (4, 5); (6, 7); (8, 9)] *)

Сразу предупредим, здесь нет дословного перевода документации или официального мануала. Этот портал больше про то, что находится за скобками, то есть реальная разработка: инструменты, паттерны, библиотеки, продвинутые языковые возможности и прочая вкуснятина.

С чего начать? 🤔

Так таковой точки входа на сайте нету, он организован по большей части нелинейно — просто переходите к тому, что вас интересует.

Новичок? 🐥

Если вы ещё совсем не знакомы с OCaml'ом, то рекомендуем пройти наш горячий тур по языку (🇷🇺), раскрывающие все основные концепции языка и разработки на нём. Либо туториал с официального сайте (🇺🇸) в случае владения вами английским языком.

Вообще чтоб познакомится с языком вам не потребуется даже устанавливать тулчейн — пробу пера можно произвести и в онлайн playground'e — OCaml Play или Try OCaml.

Авторы

Этого веб-сайта не было бы без его продуктивного коллектива... Будем невероятно рады увидеть новых авторов, активных участников и просто хороших людей!

  • Михаил Л., aka dx3mod — отец и царь сего места;