Js_of_ocaml: отсутствует примитив при вызове ocurl и str

Я использую пакеты curl для выполнения Http-запроса (и пакет str для использования регулярных выражений). Я компилирую файлы в своем проекте без проблем, и когда я компилирую файл .byte с помощью js_of_ocaml, у меня возникают следующие ошибки:

js_of_ocaml --отключить genprim foo.byte

Missing primitives:
  helper_curl_easy_cleanup
  helper_curl_easy_duphandle
  helper_curl_easy_getinfo
  helper_curl_easy_init
  helper_curl_easy_perform
  helper_curl_easy_setopt
  helper_curl_global_init
  re_search_forward
  re_string_match

И когда я включил сгенерированный файл js, у меня есть эта ошибка в веб-консоли: Uncaught ReferenceError: helper_curl_global_init is not defined

Я знаю, что отсутствуют примитивы, и это вызывает мою ошибку, но есть ли решение, чтобы это исправить?


person alifirat    schedule 18.03.2015    source источник


Ответы (2)


Чтобы выполнять HTTP-запросы в js_of_ocaml, вам нужно будет использовать этот модуль: http://ocsigen.org/js_of_ocaml/2.5/api/XmlHttpRequest

person Pierre Chambart    schedule 18.03.2015

Некоторые библиотеки OCaml используют примитивы, написанные на чистом C. По очевидным причинам js_of_ocaml не может связать их с Javascript. В этом случае вам необходимо реализовать их вручную, что указано в руководстве.

Функции из модуля Str имеют эквиваленты в библиотеке ECMAScript, поэтому, возможно, вам нужно их использовать (если кто-то не создал вспомогательный модуль, который имеет тот же интерфейс, что и Str, и вызывает функции Javascript под капотом)

person Kakadu    schedule 18.03.2015