Статические проверки границ массивов Haskell

Есть ли способ получить статическую проверку массивов 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), но компилятор принимает код. Ошибка обнаруживается только во время выполнения, несмотря на то, что она может быть обнаружена во время компиляции.

5
задан quant_dev 17 March 2012 в 18:52
поделиться