Есть ли способ получить статическую проверку массивов Haskell? Возьмем такой код:
import Data.Array
let a = listArray (0, 10) [-3.969683028665376e+01, 2.209460984245205e+02, -2.759285104469687e+02, 1.383577518672690e+02, -3.066479806614716e+01, 2.506628277459239e+00]
(0, 10)
действительно должно быть (0, 5)
, но компилятор принимает код. Ошибка обнаруживается только во время выполнения, несмотря на то, что она может быть обнаружена во время компиляции.