/ / Може ли GHC да предупреди за използването на опасни не-тотални функции? - haskell, обработка на грешки, катастрофа, ghc, предупреждения за компилатора

Може ли GHC да предупреди за използването на опасни не-тотални функции? - haskell, обработка на грешки, катастрофа, ghc, предупреждения за компилатора

Бях написал набързо някакъв код в Хаскел и използвах опасна не-обща функция, а именно fromJust (където очаквам стойност от входа). Ще помисля по-късно какъв вид стил на обработка на грешки искам да използвам.

Може ли GHC да ми помогне да се уверя, че съм се отървал от всички употреби на опасни не-общи функции (като fromJust или head, който може да се срине), дават предупреждения къде са.

Отговори:

3 за отговор № 1

GHC може да предупреждава за дефиниции с частични модели с -fwarn-incomplete-patterns (въпреки че не предупреждава за използването на стойности, които включват непълни модели). Освен това, Нийл Мичъл "s улов се опитва да направи малко по-подробен анализ, за ​​да идентифицира безопасни и несигурни покани за частични функции. (Въпреки че, разбира се, това е неразрешим проблем като цяло, така че той винаги ще бъде прав!)