Comments 10
Репозиторий-то откройте.
Искал, нашёл, открыл.
Пожалуйста, дайте рекомендации по использованию Python из Elixir и посоветуйте хорошее подробное руководство по этому вопросу. То, что есть в Интернете, выглядит самопиаром:-)
На счет :elport. Все серьезные ссылки указывают на Erlang. В Elixir все тонкости настройки зашиты в mix. А мне хочется понимать механизм, а то с ошибками не разберешься.
Ясность у меня будет после последующей статьи. Тогда и покритикуете:-)
Эрланг и эликсир полностью интероперабельны. Прямо в mix
пишете:
def deps do
[
{:erlport, "~> 0.7"}
]
end
и вызываете потом
{:ok, p} = :python.start()
:python.call(p, :sys, "version.__str__", [])
Но я сейчас поподробнее глянул, там последний протестированный OTP релиз чуть ли не десятилетней давности, так что, наверное, не нужно его брать.
Пока решил, буду изучать Port.
Если бы мне потребовался импорт из .dot
файлов в libgraph
, я бы лично пошел следующим путём:
написал бы парсер грамматики на nimble_parsec (возможно, даже научил бы
nimble_parsec
генерировать парсер по BNF-описанию и оформил бы егоmix
-таскойраспарсил бы грамматику dot-файлов в некое промежуточное представление
создал бы behaviour
Graph.Deserializer
по аналогии с https://hexdocs.pm/libgraph/Graph.Serializer.html#contentотправил бы Полу PR с десериалайзером ⇑
DOT → leex → yeek → {libgraph; ETS} → graph