История изменений
Исправление q0tw4, (текущая версия) :
Всё равно придётся обмазываться «подсказками анализатору» (типами)
Сам вывести сможет (ну да да, до конца выведет только на этапе линковки приложения, есть такая бяка, а динамические либы и вовсе следует типизировать руками чтоб не тупили при загрузке). Хаскельный диспатч по типу возврата, который требует осторожного обращения с типами, лучше в язык не вводить. В любом случае хорошо, когда можно быстро нафигачить прототип в безтиповом виде, а потом неспешно оптимизировать, подписывая типы в перерывах от плевков в потолок.
«вот тут предупреждений не надо» (unsafe)
Ну так весь смысл в том, чтоб такого было как можно меньше. И то что я предлагаю - путь постепенного сокращения количества unsafe кода без потери семантики.
Исходная версия q0tw4, :
Всё равно придётся обмазываться «подсказками анализатору» (типами)
Сам вывести сможет (ну да да, до конца выведет только на этапе линковки приложения, есть такая бяка, а с динамические либы и вовсе следует типизировать руками чтоб не тупили при загрузке). Хаскельный диспатч по типу возврата, который требует осторожного обращения с типами, лучше в язык не вводить. В любом случае хорошо, когда можно быстро нафигачить прототип в безтиповом виде, а потом неспешно оптимизировать, подписывая типы в перерывах от плевков в потолок.
«вот тут предупреждений не надо» (unsafe)
Ну так весь смысл в том, чтоб такого было как можно меньше. И то что я предлагаю - путь постепенного сокращения количества unsafe кода без потери семантики.