Fork me on GitHub
#clojure-russia
<
2019-01-09
>
andrewboltachev20:01:06

Всем привет! Я сделал инструмент, позволяющий искать (как grep, но более точно) отдельные значения в Clojure-файлах. Идея в том, что протестировать можно из командной строки за секунды (без установки). https://github.com/andrewboltachev/fo0001#clojure-value-finder-like-grep Прошу критику

ag21:01:54

Прикольно, но как это паковать в executable?

andrewboltachev21:01:21

Хороший вопрос. Если в такое же, как сам grep — для этого нужно написать "полный" (т.е. учитывающий все пробелы, комментарии и т д, как rewrite-clj) парсер для Clojure на C. Возможно, стоит подумать есть ли способы перевести ClojureScript во что-то подобное executable (так как просто Clojure нельзя)

ag21:01:27

Clojurescript + Lumo вариант мне кажется наименее геморойным, но не идеальным к сожалению

andrewboltachev21:01:02

А, отличная идея! Стоит попробовать. По крайней мере Java в командной строке — это всегда трата времени на запуск

ag21:01:50

эта вот к сожалению самое большое разочарование в Кложуре. Ни Go однако и не Rust. Ну не очень оно подходит вот для таких вот вещей.

ag21:01:12

А было бы классно

ag21:01:18

если бы не жвм

ag21:01:10

не знаю что-то там с граалем все никак никто что-то не выкурит для вот таких делов

andrewboltachev21:01:13

но если "время старта" — минус, то "время обработки", которое довольно быстрое — всё равно плюс. можно запускать как сервер и посылать ему команды на лету, к примеру (при большом желании)

andrewboltachev21:01:27

разумеется это сложно

ag21:01:35

не ну в любом случае рано или поздно кто-то, что нибудь выкурит.. вон Батаев как-то выкрутился. стал куски Кложуре в Го прикручивать

andrewboltachev21:01:06

Ого. Интересное решение 🙂

ag21:01:29

да только там почитаешь различия становится понятно что GoClojure наврядли когда нибудь состоится

andrewboltachev21:01:04

Есть и такие проекты: https://ferret-lang.org/

andrewboltachev21:01:25

да, к сожалению или к счастью, в основе своей развивается только мейнстрим

akond05:01:00

graalvm теоретически может помочь

misha21:01:38

а зачем? типа сёрч резалты в контексте отображаются?

andrewboltachev21:01:32

в основном чтобы искать более точно, чем grep. какой-то symbol или keyword например. т.е. чтобы строго значение совпадало (а не просто текстовое совпадение)