Size: a a a

2020 May 16

AV

Alexander Vershilov in haskell_blah
Они оба сводятся к этой проблеме
источник

YS

Yan Shkurinskiy in haskell_blah
Ну допустим, даже если не рассматривать это
источник

AV

Alexander Vershilov in haskell_blah
На самом деле в фиксированном случае, а не в обобщенном, я думаю как-то можно решить
источник

YS

Yan Shkurinskiy in haskell_blah
Александр ведь выдвигает тезис что "ФМ лучше потому что можно написать так, что абстракции не протекут, а в ФТ так не получится", насколько я помню, пусть меня поправят
источник

AV

Alexander Vershilov in haskell_blah
Есть такое
источник

AV

Alexander Vershilov in haskell_blah
Если я правильно понял в HFM мы пишем основной интерпретатор в одном месте, значит у нас доступен весь стейт в одном месте, а значит не будет проблемы, что исключение протекает по всем веткам сразу в т.ч. в catch ветку
источник

AV

Alexander Vershilov in haskell_blah
Но это сложно, надо брать листок и думать
источник

YS

Yan Shkurinskiy in haskell_blah
Ну я даже про обычные ФМ мало что знаю и никогда не пользовался)
источник

YS

Yan Shkurinskiy in haskell_blah
Но думаю, если мне показать код с ними, и сказать, что так сделать в ФТ нельзя, я думаю, я смогу его прочитать и проверить это утверждение на уровне моих знаний
источник

R

Roman in haskell_blah
Yan Shkurinskiy
Но думаю, если мне показать код с ними, и сказать, что так сделать в ФТ нельзя, я думаю, я смогу его прочитать и проверить это утверждение на уровне моих знаний
я уже проверил и нашел его ложным: https://github.com/effectfully/sketches/tree/master/hierarchical-free-monads-mostly-pointless
источник

R

Roman in haskell_blah
Ryner :: () -> IO ❄️
В хаскеле?
ага
источник

R:

Ryner :: () -> IO... in haskell_blah
Roman
ага
Заучит как неправда
источник

R

Roman in haskell_blah
Ryner :: () -> IO ❄️
Заучит как неправда
почему?
источник

YS

Yan Shkurinskiy in haskell_blah
О, спасибо!
источник

R:

Ryner :: () -> IO... in haskell_blah
Roman
почему?
Ну, в хаскеле не приходилось ни разу дебаггером пользоваться. Думаю тут много таких как я. Ребята по-опытнее пользовались, но очень мало, я предполагаю
источник

ΛO

Λrtem Ohanjanyan in haskell_blah
Ryner :: () -> IO ❄️
Ну, в хаскеле не приходилось ни разу дебаггером пользоваться. Думаю тут много таких как я. Ребята по-опытнее пользовались, но очень мало, я предполагаю
я пользовался пару раз, помогло, но это очень больно
источник

ΛO

Λrtem Ohanjanyan in haskell_blah
и там какой-то не очень сложный код был
источник

ΛO

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

Но я же не запрещаю!
да, можно писать идеальный легко тестируемый в репле код, но как минимум не всё всегда зависит от нас, и дебагер часто очень полезен

да, все умеют без него, но это не значит, что с ним не было бы легче
источник

АГ

Александр Гранин... in haskell_blah
Нет, не все умеют без него
источник

АГ

Александр Гранин... in haskell_blah
Есть даже debug driven development
источник