Size: a a a

2020 May 14

AV

Alexander Vershilov in fprog_spb
Если нет, то так даже интереснее
источник

DS

Denis Shevchenko in fprog_spb
Alexander Vershilov
Я ловил сегфолты в xsafe коде без использования unsafe операций
Это да, поиграться с какими-нибудь IORef можно и не так.
источник

n

neFormal in fprog_spb
Jerzy Syrowiecki
документация — это как типы, только не работает и быстро начинает расходиться с кодом
Но все ещё лучше типов описывают содержимое
источник

YS

Yan Shkurinskiy in fprog_spb
Но это будет как забег инвалида
источник

AV

Alexander Vershilov in fprog_spb
Denis Shevchenko
Это да, поиграться с какими-нибудь IORef можно и не так.
catch (throw (1::Int)) (\(e::String) -> )
источник

AV

Alexander Vershilov in fprog_spb
там что-то такое можно было написать
источник

AV

Alexander Vershilov in fprog_spb
Это какая-то библиотека эффектов
источник

JS

Jerzy Syrowiecki in fprog_spb
neFormal
Но все ещё лучше типов описывают содержимое
почти всегда документация хуже типов (в языке с хорошей системой типов). иногда лучше. но в таких случаях стоит документацией дополнять типы, а не выбрасывать типы совсем
источник

AV

Alexander Vershilov in fprog_spb
Я был настолько поражен, что даже репорт не стал писать
источник

AV

Alexander Vershilov in fprog_spb
Alexander Vershilov
catch (throw (1::Int)) (\(e::String) -> )
С IORef только с unsafePerformIO
источник

DS

Denis Shevchenko in fprog_spb
Просто есть документация, описывающая то, "что функция делает" и то, "как именно она это делает". Типизированное объявление функции даёт мне первую документацию: я понимаю, как эта функция взаимодействует с окружающей средой. Разумеется, очень часто мы пишем и вторую документацию, описывающую особенность внутренней работы этой функции.
источник

DS

Denis Shevchenko in fprog_spb
Таким образом, выразительные типы и текстовая документация дополняют друг друга
источник

DS

Denis Shevchenko in fprog_spb
а не исключают друг друга
источник

n

neFormal in fprog_spb
Jerzy Syrowiecki
почти всегда документация хуже типов (в языке с хорошей системой типов). иногда лучше. но в таких случаях стоит документацией дополнять типы, а не выбрасывать типы совсем
Типы не помогают в простых случаях a->a->a
источник

YS

Yan Shkurinskiy in fprog_spb
neFormal
Типы не помогают в простых случаях a->a->a
Почти никогда так не пишу
источник

YS

Yan Shkurinskiy in fprog_spb
Да и многие не пишут
источник

YS

Yan Shkurinskiy in fprog_spb
Если это не что-то "суперобщее"
источник

JS

Jerzy Syrowiecki in fprog_spb
neFormal
Типы не помогают в простых случаях a->a->a
очень помогают! (a -> a) можно реализовать строго одним способом, например. из типа полностью выводится содержимое
источник

n

neFormal in fprog_spb
Математику не пишут?
источник

n

neFormal in fprog_spb
Jerzy Syrowiecki
очень помогают! (a -> a) можно реализовать строго одним способом, например. из типа полностью выводится содержимое
Что внутри делается?
источник