Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Iterating over arrays in haskell

My problem is that I need to iterate over array and calculate some value depend on every element. I was looking for some fold-like function for arrays, but standard library seems to be very useless with arrays. Or i'm missing something?

The other solution may be 'binding' array to a list. Binding mean that I don't want to copy that array. Is this possible?

Btw, its all about plain Array.

like image 823
qba Avatar asked Nov 16 '09 17:11

qba


2 Answers

Take a look at Data.Foldable. It defines a type class that does exactly what you want.

like image 158
Tirpen Avatar answered Oct 02 '22 05:10

Tirpen


Using Data.Foldable you can foldr/foldl an Array just like you can a list.

Another option is that you can convert the Array back into a list with elems, and then foldr or foldl over the list.

like image 21
Edward Kmett Avatar answered Oct 02 '22 05:10

Edward Kmett