Size: a a a

2020 November 13

AP

Aleksei (astynax) Pi... in fprog_spb
На каждом шагу. Делаемая немного разными кодеками
источник

MP

Mike Potanin in fprog_spb
Aleksei (astynax) Pirogov
Я могу к нему писать плагины через условный cat и не иметь на машине студию, чтобы его собрать?
В nu-shell плугин - обычная программа, обменивающаяся с основным процессом json-ом. Есть библиотека на Rust, которая работу с json и управление жизнеррым циклом прячет. В доке есть пример плугина на питоне.
источник

AP

Aleksei (astynax) Pi... in fprog_spb
JSON — тот же текст, который нужно заново парсить. Вот бы BSON передавали...
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Впрочем, один формат, который все одинаково парсят, лучше, чем "просизвольный текст"
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Так что s-exps подходят
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Псто EDN синтаксически приятнее
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Mike Potanin
В nu-shell плугин - обычная программа, обменивающаяся с основным процессом json-ом. Есть библиотека на Rust, которая работу с json и управление жизнеррым циклом прячет. В доке есть пример плугина на питоне.
Вот это неплохо уже звучит! Спасибо, посмотрю
источник

MP

Mike Potanin in fprog_spb
Json хорошо магинно-читаем, что уменьшает вероятность ошибиться при парсинге.
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Лишь бы не YAML
источник

MP

Mike Potanin in fprog_spb
Всеравно на него смотреть надо только при отладке.
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Json плох тем, что не имеет возможности описывать метадату :(
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Для единого формата важна напротиворечивая спека. JSON такую имеет, да
источник

KC

Kirill Chernyshov in fprog_spb
Mike Potanin
В nu-shell плугин - обычная программа, обменивающаяся с основным процессом json-ом. Есть библиотека на Rust, которая работу с json и управление жизнеррым циклом прячет. В доке есть пример плугина на питоне.
Напоминает поды для бабашки https://github.com/babashka/pods
источник

RR

Rigidus Rigidus in fprog_spb
S-exp могут не только в метадату но и в код )
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Код не нужен для гетерогенной среды. А вот метадата — вещь!
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Просто идея IPC через условный JSON на поверхности лежит
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Вон, фильтры к pandoc тоже "JSON -> JSON"
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Удобно, чё. Для конкретного языка уже может быть
"JSON -> Tree -> ... -> Tree -> JSON"
(работать с удобным для языка внутренним представлением)
источник

AP

Aleksei (astynax) Pi... in fprog_spb
И при этом остаётся возможность low level jq использовать, если уж совсем лень
источник

JS

Jerzy Syrowiecki in fprog_spb
Mike Potanin
Основное преимошество bash-подобных систем - удобная композируемость, доступная прямо из командной строки. sh это делается конвеерами с передачей текста. Есть PowerShell и nu-shell, которые умеют передавать по конвееру объекты (не надо парсить текст, получается быстрее и меньше возможностей ошибиться). Интересно попробовать делать на babashka плугины к nu-shell, там интерфейс просто передача json по каналу.
когда надо передать команду в команду (find, ssh, parallel и всякие местечковые инструменты), никакой композируемости
источник