Roman
или дьявол кроется в "хорошей зп"?)
Ayrat
у него часом нет проблем хаскеля?
вот тут хз. фибоначи я в вскоде рисовал
Ayrat
но собсно хачкель я тоже в вскоде пишу
Roman
@DogeShibu я вроде спрашивал, но забыл. Ты в чем кодишь на расте?
Doge
у него часом нет проблем хаскеля?
Ну IDE сходит с ума от макросов, но это везде так
Roman
Ну IDE сходит с ума от макросов, но это везде так
А хотя б нормальные rename & find usages есть?
Roman
а, ну уже неплохо
Doge
Ну экспириенс в целом терпимый, прям каких-то сильно ощутимых проблем с тулингом я не нашел.
Roman
Ну IDE сходит с ума от макросов, но это везде так
не писал ни на одном языке с макросами. В чем заключается схождение с ума иде?)
Doge
не писал ни на одном языке с макросами. В чем заключается схождение с ума иде?)
Кто-то в библиотеке нагенерил типов через макросы. Есть большая вероятность, что IDE эти типы не увидит, хотя компилятору будет норм
Doge
Если у тебя макрос, который как-то обрабатывает код, то внутри него IDE тоже отвалится. my_macro! { // тут IDE ничего не подскажет 1 +2 + 3 + 4 }
Doge
Ну и т.д. и т.п.
Doge
Где-то оно умудряется сработать, но далеко не везде
Hog
но собсно хачкель я тоже в вскоде пишу
Пишешь? У тя ж жава-скала там в полный рост или ты что-то недоговариваешь?
Doge
хм, а почему не подсказывает?
Потому что не умеет IDE работать с автодополнением сквозь макросы
Roman
Потому что не умеет IDE работать с автодополнением сквозь макросы
ну, это я понимаю. Мне не очевидно, почему не умеет. Я плохо знаком с макросами в целом
Roman
Но в принципе могу не заебывать вопросами)
Hog
да это я так, для души
У тя чо там 48 часов в сутках? Скала, гамы, пиво, двое детей... ещё и пописываешь для души.
Doge
ну, это я понимаю. Мне не очевидно, почему не умеет. Я плохо знаком с макросами в целом
Потому что ты можешь полностью свой синтаксис сделать в макросе, разобрать текст внутри него как угодно
Doge
Поэтому что и как ей подсказывать
Roman
любопытно
Doge
любопытно
Но если макросы более слабые по своей мощи (типа того, что в дотти, где у тебя всё что принимают макросы - обязано быть компилируемым скала кодом), то у IDE проблем нет и она умеет всё подсветить и показать. Т.е. я вон, иногда играюсь с дотти в идее и она умеет в местных макросах подсказывать.
Doge
но тогда интересно, как компилятор справляется с макросами. Лексер с парсером же какими были, такими и остались
Если раст встречает вызов макроса, то он останавливается на лексическом анализе и тупо отдает в макрос поток токенов.
Doge
Дальше - это забота макроса
Hog
я ещё и пописываю без души!!11
Я бля тут собирался 2 мес пофиксить какие-то вулнерабилитиз в нодовских модулях, которые сейф затянул. А то заходишь на гх а тебе - алярма-алярма всё пропало, Наташ
Ayrat
эх ты, не поддержал сортирный юмор!!1
Hog
Зассал
Vasily
Видно, пива с утра не пил
Roman
Дальше - это забота макроса
т.е. при определении макроса ты каким-то образом должен определить и синтаксис/правила для парсинга?
Roman
эх ты, не поддержал сортирный юмор!!1
никто не мог предположить, что ты этим занимаешься без души. Это ж какая потеря
Doge
т.е. при определении макроса ты каким-то образом должен определить и синтаксис/правила для парсинга?
Да. Либо через macro_rules (там условный паттерн матчинг по токенам), либо через процедурный макрос, который обычная функция из TokenStream в TokenStream
Roman
прикольно. Спасибос! стало яснее
Hog
Видно, пива с утра не пил
Просеко по утрам более освежает!
Vasiliy
😭 че вы давите на больное(
Hog
😭 че вы давите на больное(
не тяни! сходи к урологу!
Dr. Friedrich
не тяни! сходи к урологу!
Щас уролог только самых острых больных принимает
Крылатый
Доктор, у меня острое недопописывание для души?
Dr. Friedrich
Доктор, у меня острое недопописывание для души?
Тогда посетите душевую, голубчик.
Dr. Friedrich
да :( тогда придётся оттягивать
Если сильно далеко оттянешь, то моментально перейдёшь в разряд тех, кому срочная помощь требуется.
Vasily
В морге уже не срочно обычно
Denis
Ну мне в расте не понравилось только то что clion мало подсказывает
Denis
т е какие то совсем очевидные вещи когда я забыл & написать и произошел move
Denis
компилятор зато это дело исправляет
Anonymous
что думаете про сергея немчинского
Dr. Friedrich
А вот в дотнете продумали интеграцию сорс генераторов с IDE!!111
Ага, и вариантов интеграции целых три: 1. Работает, но уровень интеграции в редактор и инструменты хреноватый 2. Ещё не существует 3. Сделан для эфшорпа, куча ограничений, в сообществе до сих пор идут споры, можно ли вообще использовать в продакшене
Dr. Friedrich
Прям супер огненно придумали в дотнете, ай малаца
Ilya
Ну ладно, не в дотнете, а в рослине.
Ilya
Видимо, команда рослина решила пойти по 3 пути.
Dr. Friedrich
Если кто не понял, по порядку: 1) T4 2) C# Generators 3) вы знаете что я имел в виду
Dr. Friedrich
Ilya
Её я номером 2 и обозначил
Так они ж ещё не релизнулись?
Dr. Friedrich
Так они ж ещё не релизнулись?
В пункте 2 это и указано?
Dr. Friedrich
Релизнутся — посмотрим.
Ilya
А, тьфу. Да.
Doge
А вот в дотнете продумали интеграцию сорс генераторов с IDE!!111
С сорс генераторами умеют все IDE работать. Включая идею со скалой и слайн с растом
Dr. Friedrich
Потому что там догадались завязать кодеген на COM API из IDE.
Dr. Friedrich
Вот так делать было не нужно :)
Dr. Friedrich
Так что, месьё, вы ошибаетесь в том, что сорс генераторы прям все сразу делают хорошо
Dr. Friedrich
Но понятно, что проектировалось это в году весьма бородатом.
Doge
Но выключая монодевелоп и vscode с T4, например
Ну я про сорс генераторы - а-ля специальный скрипт на обычном языке в билд системе, а не Т4
Dr. Friedrich
Так-то это ровно оно и есть
Dr. Friedrich
Язык не обычный
Чем он необычен?
Dr. Friedrich
Язык как язык, в общем-то.
Dr. Friedrich
Или ты про то, что он не совпадает с тем языком, сорцы на котором генерируются?
Doge
Или ты про то, что он не совпадает с тем языком, сорцы на котором генерируются?
Ага ну и то, что он пользуется АПИ IDE. Но к т4 я до сих пор плохо отношусь, потому что это то, что помешало всем на прошлой работе перейти на райдер
Doge
А студия+ R# на наших проектах умирала