blob: 5167bbe6e0acacb6241e6ed012d753bfd88219c3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
|
import Data.Array.Unboxed
main = do
let l1 = [1..10] :: [Int]
let l2 = [ map (i+) l1 | i <- [1..500000] ]
let l3 = map (\l -> listArray (1,length l) l) l2 :: [UArray Int Int]
print $ accumulate l3 0
accumulate [] rv = rv
accumulate (h:t) rv =
let nextRv = (rv + sum (elems h)) in
accumulate t $! nextRv
|