Описание тега ocaml-lwt

Используйте для вопросов, касающихся Lwt, библиотеки обещаний OCaml и параллельного программирования.
1 ответ

OCaml пишет функцию тайм-аута с использованием Async

Я пытаюсь написать функцию, которая пытается оценить функцию, но останавливается после определенного времени ожидания. Я пытался использовать Deferred.any, который возвращает отложенное, которое выполняется, когда выполняется одно из базовых отложен…
2 ответа

Как правильно использовать Lwt_io.read_int?

Как правильно использовать Lwt_io.read_int? Я попробовал то, что мне показалось очевидным, но я не получил очевидных результатов... open Lwt.Infix let _ = Lwt_main.run ( Lwt_io.print "Enter number: " >>= fun () -> Lwt_io.read_int (Lwt_io.st…
19 май '17 в 10:15
1 ответ

Cstruct и Lwt_bytes

Насколько я могу судить, Lwt_bytes, похоже, использует тот же тип, что и Cstruct (или, возможно, использует сам cstruct), но по некоторым причинам я не могу заставить их работать вместе: Lwt_io.write_from_exactly out b.Cstruct.buffer 0 16 Error: Thi…
14 окт '18 в 08:23
1 ответ

Как использовать Lwt_pool

Я хочу иметь пул соединений с базой данных Redis с максимальным количеством соединений. Это выглядит как Lwt_pool это решение, которое я ищу, но я не совсем понимаю, как оно должно работать. Например, у меня есть несколько вопросов: Документы говоря…
10 дек '14 в 17:01
1 ответ

Lwt и Cohttp: `Фатальная ошибка: исключение Unix.Unix_error(Unix.ECONNRESET, "read", "")`

У меня есть простой HTTP-сервер в Ocaml с Cohttp и Lwt. Когда я бегу wrk приложение падает примерно в 50% случаев, как только wrk отделки. Я полагаю, что сбой вызван неожиданным разрывом соединения. Я вижу следующую ошибку на консоли: Fatal error: e…
08 ноя '16 в 22:14
2 ответа

Компиляция программы, которая использует Lwt_term

У меня есть следующий код в OCaml: open Lwt open Lwt_term let () = Lwt_main.run ( lwt l = Lwt_read_line.read_line ~prompt:[text "foo> "] ()) когда я пытаюсь скомпилировать с помощью ocamlfind ocamlc -package lwt cli.ml - o cli.byte это я получаю …
08 мар '14 в 19:31
1 ответ

Создание сервисов GET/POST Ocsigen

Я создаю приложение, используя Ocsigenэто приложение не будет подключено к базе данных, и цель состоит в том, чтобы скопировать содержимое с основного веб-сайта сюда. (я использую curl для выполнения запросов Get) Итак, моя проблема здесь в том, что…
15 июн '17 в 18:53
2 ответа

Используя Core и Lwt вместе

Я использую Core и Lwt вместе в библиотеке, над которой я работаю. В Core есть хорошие модули, с которыми я знаком, и мне больше нравится работать с потоками Lwt. Это обычное дело? Есть ли веская причина не делать этого и вместо этого использовать, …
08 дек '14 в 23:01
4 ответа

Как остановить сборку мусора OCaml моим обработчиком реактивных событий?

Я пытаюсь использовать библиотеку OBus с Lwt_react. Это использует "функциональное реактивное программирование" для свойств и сигналов. Проблема (как отмечено в документации React) состоит в том, что OCaml может собирать ваш обратный вызов, пока вы …
1 ответ

Не удалось скомпилировать ocaml-websocket

Пытаясь собрать ocaml-websocket, он терпит неудачу с: File "lib/websocket.ml", line 202, characters 29-42: Error: The function applied to this argument has type ?buffer_size:int -> (Lwt_io.input_channel * Lwt_io.output_channel) Lwt.t This argumen…
12 мар '13 в 17:50
1 ответ

LWT и доступ к базе данных

Я не могу получить доступ к своей базе данных с помощью lwt. Должен ли я включить его в поток? Как? Или создайте новую тему, которая возвращает 'a lwt значение? Если так, что делать с этим значением? То же самое касается Printf.eprintf, который такж…
28 сен '13 в 20:06
0 ответов

Интеграция GTK и Lwt

Я работаю над программой, в которой я хотел бы использовать lablgtk и lwt. У меня есть функции, извлекающие данные из потоков lwt, затем я хотел бы отобразить данные в графическом интерфейсе с использованием lablgtk. Я борюсь с интеграцией lablgtk в…
05 июн '16 в 02:57
1 ответ

Как включить цвет синтаксиса и отступ для lwt в режиме Emacs Tuareg?

Я использую режим Туарега для Emacs. Я также использую lwt, lwt имеет некоторое расширение синтаксиса, но туареги не могут их распознать, и это безобразно без отступа и раскраски. Я нашел это: https://github.com/skydeck/lwt/blob/master/utils/tuareg-…
25 июн '13 в 09:36
1 ответ

Как правильно запустить процесс из определенного каталога с помощью Lwt

Легко запустить процесс из определенного каталога с помощью Lwt, используя функции Sys.getpwd, Lwt_unix.chdir а также Lwt_process.exec: использование Sys.getpwd сохранить текущий рабочий каталог использование Lwt_unix.chdir перейти в конкретный ката…
16 июн '15 в 08:48
1 ответ

Ocaml Lwt.wait()

У меня есть вопрос о функции ожидания lwt и о том, как я буду использовать ее в своей собственной пользовательской функции, которая будет возвращать поток Lwt.t. Сначала давайте покажем вам пример. open Lwt_io open Lwt.Infix let i, o = Lwt_io.pipe()…
01 фев '17 в 18:10
1 ответ

Ocaml lwt читает стандартный вывод из другого процесса

Я пытаюсь создать новый интерфейс в Ocaml для терминального приложения. Основная идея - порождение нового процесса с Lwt: let cmd = shell "./otherterminalapp" in let p = open_process_full cmd; А затем позже напишите материал в stdin процесса, чтобы …
12 дек '16 в 09:21
1 ответ

Как полностью использовать `lwt` в этом случае

Вот что я собираюсь сделать: У меня есть список task и мне нужно запускать их все каждые 1 час (планирование). Все эти задачи похожи. например, для выполнения одной задачи мне нужно загрузить некоторые данные с сервера (используя протокол HTTP и это…
15 июн '13 в 16:46
1 ответ

Правильное использование Lwt_main.run()

Я столкнулся с некоторыми ошибками при использовании Lwt_main.run(), В основном у меня есть два бесконечных цикла с типом unit -> 'a Lwt.t = <fun> и когда я запускаю оба цикла, я получаю ошибки. Я использую их в контексте того, что один цик…
16 дек '14 в 01:50
1 ответ

Lwt.async() не работает должным образом

Я разрабатываю веб-сервис в Ocaml поверх MirageOS(Unix) и на данный момент у меня возникли проблемы с Lwt.async(), Документация Lwt гласит следующее: val async : (unit -> 'a t) -> unit async f запускает поток, не дожидаясь результата. Если это…
1 ответ

Как сделать что-то поддерживаемое lwt?

Я пытаюсь понять термин lwt supported, Итак, предположим, у меня есть кусок кода, который соединяет базу данных и записывает некоторые данные: Db.write conn data, Это не имеет ничего общего с lwt, и каждая запись будет стоить 10 sec, Теперь я хотел …
02 июл '13 в 10:12