вчера я так и не понял, сколько надо написать тестов, чтобы быть уверенным в работоспособности кода. и что там вообще с вероятностью отвалиться на граничных случаях(которые никто не тестит).
Простите, что вмешаиваюсь в умный диалог, но при всей моей любви к Хаскелю, тамошний тайпчекер не отловит попытку взятия головы от пустого списка и прочие нетотальные функции, что приведет к краху по эррору именно в рантайме, включая то же пресловутое деление на 0. Поэтому говорить, что наличие системы типов (даже такой сильной как в Хаскеле, если оставить в стороне Идрисы и прочее) автоматически что-то там гарантирует как минимум слишком оптимистично. И это еще если не рассматривать чисто логические ошибки, которых по некоторым оценкам гораздо больше в коде.
Это будет интересно только будущим программистам. Если вы устроились на работу и увидели такое - бегите оттуда. Иначе вам и в самом деле потребуются антидепрессанты.