Может ли GHC предупредить об использовании опасных неосновных функций?
Я быстро писал код в Haskell и использовал опасную неточную функцию, а именно fromJust
(где я ожидаю значение от ввода). Позже я подумаю, какой стиль обработки ошибок я хочу использовать.
Может ли GHC помочь мне удостовериться, что я избавился от всех видов использования опасных нетопливных функций (например, fromJust
или head
, которые могут произойти сбой), предоставьте мне предупреждения, где они есть.
Ответы
Ответ 1
GHC может предупреждать об определениях с частичными шаблонами с помощью -fwarn-incomplete-patterns
(хотя и не предупреждает об использовании значений, которые включают неполные шаблоны). Кроме того, Neil Mitchell catch пытается немного более подробный анализ для определения безопасных и небезопасных вызовов частичных функций. (Хотя, конечно, это неразрешимая проблема в целом, поэтому она не всегда будет прав!)