В документе Lazy.lazy_from_val указано, что эта функция предназначена для особых случаев: val lazy_from_val : 'a -> 'at lazy_from_val v возвращает уже принудительно приостановку v Это для особых...
Я написал какой-то конечный автомат на C ++ и Java, но никогда не работал на таком функциональном языке, как Ocaml. Проблема в том, что я не знаю, смогу ли я просто адаптировать код из версий объектных языков, поскольку в Ocaml ...
Если я программирую в топлупе OCaml и хочу использовать пакет из стандартной библиотеки OCaml или какой-либо другой библиотеки, как мне узнать, какой файл .cma загрузить? В стандартной библиотеке для...
У меня есть Makefile.am для компиляции исходного кода Ocaml с помощью ocamlbuild. Однако даже хотя у меня в configure.ac есть AM _INIT _AUTOMAKE ([посторонние нет -зависимостей] ), automake считает, что компилятор C...
Предположим, функция bind имеет помеченный аргумент, необязательные аргументы и немаркированные аргументы, и вы хотите определить метод m, который применяет немаркированные аргументы bind и возвращает частично ...
Я работаю над некоторыми программами, использующими деревья. Мне было интересно, есть ли какой-нибудь фрагмент кода для рисования общих деревьев в OCaml. type Tree = Узел дерева * int * Tree | Потомок int ;; Все, что я нахожу в Интернете ...
В Clojure есть макрос ->, который принимает фрагмент данных и набор функций, применяет данные к первой функции, а затем применяет результат к следующей, результат этого к ...
Я понимаю, что это, вероятно, глупый вопрос, но. .. Если я связываю кучу операторов let, которым не нужно знать значения друг друга, лучше использовать and или in? Например, какой из ...
На языке программирования, который является чисто функциональным (например, Haskell) или где вы используете его только функционально (например, clojure ); предположим, у вас есть список / последовательность / перечислимый (неизвестного размера) целых чис
Я кросс-компилирую драйвер сенсорного экрана, который поставляется с приложением ocaml для калибровки. Я пытаюсь скомпилировать драйвер и приложение для ARM, в частности, для Beagleboard, работающего ...
пусть find_free_next куча start = for i = start to ((Array.length heap)-1) do match heap. (i) с Hdr (Free (h), g) -> i done Как я могу вернуть индекс цикла в качестве ...
У меня есть тип диапазона, определенный как: type 'a range = Full | Диапазон ('a *' a) Однако я хотел бы ограничить 'a целым числом, числом с плавающей запятой или char, без других допустимых типов для' a. Диапазон (0,10)(* допустимо ...
Прямо сейчас у меня есть рабочая система шаблонов HTML, написанная на OCaml. Общий дизайн таков, что индивидуальный шаблон - это модуль, возвращаемый функтором, применяемым к следующему типу модуля: module ...
Я пытаюсь получить трассировку стека с помощью Printexc.get_backtrace, но получаю ошибку: (Program not linked with -g, cannot print stack backtrace) Я компилирую так: ocamlfind ocamlc -g -o foo ....
У меня общий вопрос относительно методов кодирования ... Во время отладки в какой-то момент моего кода мне нужен код для вывода текущего состояния; Когда я не отлаживаю, я не хочу оставлять код ...
У меня есть следующий список: [«A»; «AA»; «ABC»; «BCD»; «B ";" C "] Я случайным образом извлекаю элемент из списка. Но элемент, который я извлекаю, должен иметь размер 3, но не меньше 3. Я пытаюсь сделать ...
В статье Лероя о том, как рекурсивные модули типизируются в OCaml, написано, что модули проверяются в среде, состоящей из приближений типов модулей: module rec A = ... и B = .. . и C = .....
Стек вызовов Ocamldebug - это реальный стек вызовов, поэтому функции, которые сделали хвостовое вызов, не появляются в нем. Это смущает. Как я могу получить обратный транспорт, который включает в себя хвостовые звонки?
Я недавно играл с OCaml, и быстро сделал свое любимое дело, чтобы проверить, насколько хорошо развита VM/Compiler, и написал рекурсивную программу: let rec f i = Printf.eprintf "i = %d\...
Я заметил, что среди знакомых мне программистов OCaml некоторые из них всегда используют полиморфные варианты (варианты, которые не объявлены, с префиксом обратной кавычки), тогда как другие никогда не используют полиморфные ...
Я хочу прорекламировать OCaml для начинающих и ищу хорошие руководства на английском языке; не то, чтобы вы только слышали, но то, что вы действительно пытались и сочли полезным ...
let undefined = ["строка"; ""; "нить"; "boolean"; ""; "innermost"] У меня есть список, и я хочу написать функцию, которая возвращала бы список без повторяющихся и пустых строковых списков. Например, undefined ...
Хорошо, я делаю лексер и парсер с помощью Ocamlyacc. Я провел свое исследование и думаю, что это как-то связано с тем, что мой make-файл не выбирает правильную битовую версию для моего компилятора или что-то вроде ...
Я создаю две библиотеки в OCaml, которые содержат один и тот же вариантный тип. Детали варианта не слишком важны, кроме того, что он действительно большой, и это будет раздражать вручную ...
Я использую OCaml. Я хочу смоделировать взаимодействующие узлы, чтобы посмотреть, как быстро сообщения распространяются при различных схемах связи и т. Д. Узлы могут 1. отправлять и 2. получать фиксированное сообщение. Я ...
Кто-нибудь знает о программах для профилирования кода OCaml, кроме использования параметра -p во время компиляции и последующего использования гпроф? Я задаю этот вопрос, чтобы проверить, составляет ли время выборки 0,01 ...
Я внезапно начал получать эту ошибку. Я не знаю, как ее диагностировать или исправить. Я что, должен перебирать bar.ml и проверять каждую функцию Big_int на соответствие сигнатуре в Big_int.mli? Файл "foo.ml", ...
Моя папка содержит несколько файлов, которые компилируются в следующем порядке: global.ml, zone.ml, abs.ml, main.ml global.ml содержит некоторые ссылочные переменные ( например, пусть g1 = ref 0) для всех файлов. В зоне ....