рассмотрим две функции: let rec f ~acc = function | [] -> List.rev acc | x :: xs -> f ~acc:((x * 2) :: acc) xs ;; let rec f ~acc = function | [] -> acc [] | x :: xs ...
есть такая библиотека: (library (public_name my_library) (name my_library_private)) я ожидал, чтобы my_library_private был доступен только в текущем Dune проекте (например...
если у меня в Dune проекте есть публичные bin/ и lib/, и я опубликую проект на OPAM, то что произойдёт? эта процедура только для библиотек, или и для исполняемых проектов тоже...
Правила чата ————— Как задавать вопросы 1) Сначала вопрос попытаться найти в Интернете, на английском, посмотреть в стандартах (ссылки на них ниже), внимательно изучить соо...
"eq and ord are short-circuiting." https://github.com/ocaml-ppx/ppx_deriving?tab=readme-ov-file#plugins-eq-and-ord что это означает? то, что сначала используется физическое р...
я где-то читал, что какое-то структурное сравнение сначала проверяет физическое. не помните где? разве = такое не делает по-умолчанию? или String.equal
пытаюсь написать функцию, которая из Map.S.t достаёт значение по ключу или вызывает on_none, если значения нет. пробовал так: let find_exn : type a. (module Map.S wit...
написал такую функцию: let read_shell command = let ic = Unix.open_process_in command in Fun.protect ~finally:(fun () -> Stdlib.close_in_noerr ic) (fun ()...
а зачем расту возможность настраивать ошибки компиляции, если они и так идеальные?
при скачивании пакета: $ opam install bap [ERROR] Sorry, resolution of the request timed out. Try to specify a more precise request, use a different solver, or ...
сделал dune init project testimport в lib/dune положил (library (name testimport) (preprocess (staged_pps ppx_import ppx_deriving.show))) в lib/test.ml положил type%im...
как с помощью bisect_ppx (https://github.com/aantron/bisect_ppx) отрубить coverage для специфичной ветки в match? наподобие такого: match x with | X -> ... [@coverage off] | ...
когда я делаю opam install dune в CI, то opam просит потом делать eval $(opam env) каждый раз когда я запускаю dune. можно ли как-то попросить его это делать самому, или как-т...
есть ли в окамл функциональная итерация вида f (f (... f(x)))? или мне придётся костылить рекурсию
а как тогда проверять на overflow?
можно ли деструктуризировать значение именованного параметра в функции? let f ~arg:{a; b; c} = a что-то такое, где у arg тип { a: int; b: int; c: int }
есть ли для окамля нормальная библиотека для string similarity? наподобие https://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance
кстати, вот у меня есть интерпретатор языка на OCaml. я хочу сделать из него компилятор. сложность в том, что eval для выражений вызывается на стадии проверки типов (зависимая...
есть ли способ отключить сообщения "Entering directory" и "Leaving directory"? --display=quiet ничего не меняет
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=3608051f5e80f27487e9ec2ca3050c94 чисто технически интересует вопрос как скомпилировать этот код без до...