Я новичок в Haskell. Я работаю над эталоном (критерием) по алгоритму бинарного поиска. Я продолжаю получать сообщение об ошибке: «nf» применяется к слишком небольшому количеству аргументов, что я делаю неправильно.
Спасибо
binSear array serNum lowInx highInx
| highInx < lowInx = -1
| array!!sred > serNum = binSear array serNum lowInx (mid-1)
| array!!sred < serNum = binSear array serNum (mid+1) highInx
| otherwise = mid
where
mid = lowInx + ((highInx - lowInx) `div` 2)
main = do
let arr = [1..10000000]
defaultMain [
bench "1" $ nf (binSear arr 54527 0 9999999)
]