Вопросы об использовании или разработке PPX (расширение синтаксиса OCaml)
2 ответа

Атрибуты OCaml

Я просматривал руководство и обнаружил, что в OCaml есть атрибуты для объявления вещей как устаревших (см. http://caml.inria.fr/pub/docs/manual-ocaml/extn.html), но я не могу понять, как заставить их распознаваться компилятором. Вот программа, котор…
04 май '16 в 18:24
1 ответ

Ошибка при обработке результата graphql

Я только начал играть с reasonML и graphql и создал простой компонент реагирования, который извлекает данные из API чемпионата мира. Мой код ниже: [@bs.module] external gql: ReasonApolloTypes.gql = "graphql-tag"; module GetMatches = [%graphql {| que…
15 сен '18 в 19:07
1 ответ

Какие-нибудь хорошие примеры использования преобразования AST с ppx_driver (register_transformation_using_ocaml_current_ast)?

Я пытаюсь сделать двоичное преобразование источника с помощью AST_mapper а также ppx_driver, Я не могу понять, как получить пример в AST_mapper документы для использования ppx_driver, Есть ли хорошие примеры того, как использовать Ppx_driver.registe…
15 янв '18 в 02:44
3 ответа

Лексер / фильтр для комментариев

Есть ли инструмент OCaml, который позволяет фильтровать комментарии в исходных файлах, аналогично gcc -E? В идеале я ищу что-то, что удалит все, кроме комментариев, но было бы полезно и наоборот. Например, если есть способ использовать camlp4/campl5…
03 фев '17 в 18:48
1 ответ

Включить предупреждение о неиспользуемых / недействительных атрибутах при использовании ppx

Я пытаюсь использовать некоторые расширения PPX, и я только что узнал, что OCaml не выдает предупреждение о неиспользуемых / недействительных атрибутах. Например, если я напишу что-то вроде: let[@blaa] () = () Даже с -w +AOCaml ничего не скажет о то…
06 янв '17 в 18:14
2 ответа

OCaml указывает путь к исполняемому файлу ppx

Я пытаюсь выяснить, как передать в расположение исполняемого файла для запуска в качестве ppx фильтр для компиляторов OCaml ocamlc/ocamlopt, Мои вопросы, в основном Какой формат фильтра PPX должен принимать в качестве входных данных? Что он должен п…
31 мар '18 в 02:41
2 ответа

Как мне настроить ocamlinit, чтобы ppx работал?

Это мой ocamlinit: (* Added by OPAM. *) let () = try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH") with Not_found -> () ;; (* ## added by OPAM user-setup for ocamltop / base ## 3ec62baf6f9c219ae06d9814069da862 ## you can edit, but keep…
27 дек '16 в 23:37
1 ответ

Как использовать jbuild и ppx_driver с ppx_deriving

Я пытаюсь использовать jbuilder вместе с ppx_deriving (ppx_deriving_yojson в частности) но застрял уже более часа. Мой нынешний подход jbuild файл, содержащий следующее: (jbuild_version 1) (executables ((names (my-binary)) (libraries (ppx_deriving p…
03 май '17 в 23:14
1 ответ

OCaml: как использовать батареи и ppx_deriving.* Вместе?

В настоящее время я пытаюсь использовать Batteries с ppx_deriving.show или что-то подобное.Мне интересно, как использовать их вместе с пользой. Я считаю, что для создания дамп-функций ppx_deriving.show полезен. Но у меня есть небольшие проблемы с ис…
28 фев '17 в 16:22
2 ответа

Есть ли примеры использования для модуля OCaml ppx_xml_conv

Я ищу простой пример для модуля ppx_xml_conv от janestreet. Я не очень хорошо знаком с (относительно) новой вещью PPX и не могу понять это из исходного кода. В конечном итоге я пытаюсь написать клиент для старой службы SOAP и хочу превратить xsd (из…
06 ноя '15 в 17:46
1 ответ

Сделать совместимыми ocaml, camlp4, ppx, node, js_of_ocaml, ocamlbuild

После установки npm а также node, компилируя файлы OCaml с js_of_ocaml дал ошибки, таким образом я сделал opam switch reinstall system: :testweb $ opam switch reinstall system Your system compiler has been changed. Do you want to upgrade your OPAM i…
16 май '16 в 14:16
1 ответ

Код OCaml, преобразованный через мое расширение синтаксиса PPX, не может найти другие пакеты

Итак, я написал простой PPX для OCaml, который превращает глупый DSL в некоторые библиотечные вызовы [%jsx div] Становится чем-то вроде ReactJS.create_element "div" Однако всякий раз, когда я пытаюсь его скомпилировать, я получаю 'Unbound value Reac…
07 апр '16 в 13:26
1 ответ

Как получить методы to_string для типов данных, используя PPX

Как я могу получить to_string методы для типов данных, использующих ppx с jbuilder? Например, я пытаюсь использовать @@deriving show вывести show_* методы для типа данных. У меня простой main.ml файл, который выглядит так: open Core type foo = Bar |…
28 авг '17 в 07:50
1 ответ

Как использовать ppx.metaquot в OCaml?

Команда, написанная в README.md, не работает (показано использование ocamlfind.) Я понимаю, что исполняемый файл ppx_metaquot является своего рода файлом перезаписи, поэтому я могу перевести свой код, используя квази-цитату следующим образом: ocamlf…
21 апр '16 в 09:25
1 ответ

Написание парсера для DSL в OCaml с использованием ppx и точки расширения

Недавно в официальном github OCaml было объявлено, что Camlp4 заменяется ppx rewriters and extension points ( https://github.com/ocaml/camlp4): Camlp4 был частью официального дистрибутива OCaml до его версии 4.01.0. С тех пор она была заменена более…
14 июн '16 в 11:19
1 ответ

Как найти интерфейс, т.е. набор предоставляемых функций пакета OCaml?

Мне нужно использовать синтаксический анализ исходного файла OCaml в типизированном AST, и я считаю, что ppx_jane - это правильный пакет для выполнения работы. После установки с помощью opam я до сих пор не знаю, какие функции доступны. Это ссылка н…
06 мар '17 в 13:31
0 ответов

Есть ли средство отображения ppx, которое реализует альфа-переименование?

Я пишу какое-то расширение ppx, и мне было интересно, существует ли где-нибудь инструмент или функция, которые позволяют работать в Parsetree с уникальными идентификаторами. Например, я хотел бы иметь возможность комментировать объявление let x = ..…
20 апр '20 в 15:40
1 ответ

Пользовательский генератор json для варианта типа суммы с ppx_deriving_yojson

Я хотел бы создать объекты JSON, представляющие AST, и я смотрю на ppx_deriving_yojson для этого (точнее, to_yojsonчасть). Конечно, бывают случаи, когда я хотел бы прибегнуть к индивидуальной кодировке. Как упоминалось в документации, настроить пред…
17 мар '20 в 20:51
2 ответа

Что такое PPX?

Во многих проектах, использующих ReasonML, часто используется аббревиатура PPX, но редко объясняется. Что такое PPX? Зачем они нужны ReasonML?
23 июн '20 в 17:32
0 ответов

ReasonML Полиморфный вариант при захвате Union в GraphQL ppx

У меня проблемы с союзами в ppx, интерпретирующими полиморфные варианты. В моем браузере с помощью Js.log Я нахожу предмет, похожий на {__typename: "MultipleChoiceQuestion", id: "91d7d8ec-a581-56ef-8467-ca4d54da1dd7", questionBas…
18 окт '20 в 23:30