部分関数の禁止
純粋関数であるにもかかわらず、 特定の入力に対して例外を投げる部分関数の使用は禁止します。
部分関数は型の上ではすべての入力を受け付けるように見えますが、 実際には一部の入力でしか正しく動作しません。 そのため型検査を通過しても実行時にクラッシュする原因になります。
純粋関数空間では安全な方法では例外を捕捉することが出来ないため、 エラーの処理が困難になります。
遅延評価と組み合わせると、 例外が発生するタイミングが予測できなくなり、 例外を捕捉しているはずなのに別の場所で評価された時に例外が発生することもあります。
全域関数や、
失敗をMaybeやEitherなどで返す関数に置き換えてください。
代表的な部分関数と代替
fromJust
Maybeの中身を取り出しますが、
Nothingに対しては例外を投げます。
fromMaybeでデフォルト値を与えるか、
maybeやパターンマッチでNothingの場合を明示的に処理してください。
read
文字列をパースしますが、 失敗すると例外を投げま
[Description truncada. Veja o README completo no GitHub.]