summaryrefslogtreecommitdiff
path: root/testsuite/tests/profiling/should_run/T5363.hs
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