Size: a a a

2020 May 16

АГ

Александр Гранин... in haskell_blah
Alexander
Я могу конечно поискать, нотот месседж был очень ясным и имел именно такой смысл, что дебажит в хаскеле не надо - все ошибки во время компиляции видны. Причём было сказано без оговорок.
Всё правильно, дебаг в хаскеле в привычном императивном понимании - это крайне малополезная вещь. Да и в императивном программировании тоже. В смысле, это полезная вещь, но разработчик должен уметь обходиться без дебага. Дебаг нужен для каких-то совсем сложных кейсов. А так это инструмент, который приводит к ленности мозга.

Но я же не запрещаю!
источник

ХГ

Хаскелль Моисеевич Г... in haskell_blah
А чем дёргание курлом лучше/хуже, чем поставить брейкпоинт и посмотреть, что на нём?..
источник

АГ

Александр Гранин... in haskell_blah
Alexander
Я могу конечно поискать, нотот месседж был очень ясным и имел именно такой смысл, что дебажит в хаскеле не надо - все ошибки во время компиляции видны. Причём было сказано без оговорок.
Насчет ошибок во время компиляции, - нет, такого я не говорил, и я совсем не сторонник этой мысли
источник

АГ

Александр Гранин... in haskell_blah
Вот REPL и тесты, - это те инструменты, которыми должен пользоваться разработчик
источник

АГ

Александр Гранин... in haskell_blah
Хаскелль Моисеевич Гопник
А чем дёргание курлом лучше/хуже, чем поставить брейкпоинт и посмотреть, что на нём?..
Зачем брейкпоинт, когда ту же самую функцию ты можешь из repl дернуть
источник

ХГ

Хаскелль Моисеевич Г... in haskell_blah
Почему-то вспомнил нашего препода по физике, который крайне негативно относился к численным методам... Только аналитически...
источник

АГ

Александр Гранин... in haskell_blah
Дебаггер не нужен для этого, нужно делить код на мелкие кусочки, чтобы как раз такой workflow работал
источник

ХГ

Хаскелль Моисеевич Г... in haskell_blah
Вот у меня идёт подряд 10 функций, мне надо посмотреть, что после пятой. Как?
источник

АГ

Александр Гранин... in haskell_blah
Разделить на функции до пятой и после пятой. Или написать пять функций вручную
источник

АГ

Александр Гранин... in haskell_blah
Ну или логи
источник

ХГ

Хаскелль Моисеевич Г... in haskell_blah
А потом делить от третьей и до десятой?
источник

AV

Alexander Vershilov in haskell_blah
В защиту бегемота скажу, что в плохих случаях, когда ловишь неожиданный баг что-то такое иметь хочется, хотя  лично я предпочитаю логи
источник

АГ

Александр Гранин... in haskell_blah
Зависит
источник

AA

A64m AL256m qn<co... in haskell_blah
Александр Гранин
Дебаггер не нужен для этого, нужно делить код на мелкие кусочки, чтобы как раз такой workflow работал
ну а сдебаггером не надо код под репл приспосабливать
источник

АГ

Александр Гранин... in haskell_blah
Есть еще Debug.Trace
источник

AV

Alexander Vershilov in haskell_blah
а брейкоинты это часть сценария работы в репле
источник

АГ

Александр Гранин... in haskell_blah
Alexander Vershilov
а брейкоинты это часть сценария работы в репле
Если я правильно понял, что ты имеешь в виду, то я это называю "отладочный режим кода"
источник

АГ

Александр Гранин... in haskell_blah
Хотя наверное, неправильно
источник

AV

Alexander Vershilov in haskell_blah
не знаю, что такое отладочный режим кода, то, что я бы назвал таким режимом это last resort, когда сдаёшься
источник

АГ

Александр Гранин... in haskell_blah
Ну кстати, интересно, как там в хаскельном репле правильно брейкпоинтами пользоваться. Я никогда не пользовался, не нужно было
источник