
Den Sunday 08 June 2008 00.45.01 skrev Xiao-Yong Jin:
Any delightful idea to convert my mind from a C shaped one to a Haskell shaped one?
You can never go wrong with a good old fashioned hand written tail recursion when you're in doubt, they are pretty much the closest thing to for-loops there is in haskell and should be easy to grok for Imperative programmers and usually produce really fast code. sum vect = let d = dim vect in sum' (d - 1) 0 where sum' 0 s = s + (vect @> 0) sum' index s = sum' (index - 1) (s + (vect @> index)) I don't know the hmatrix api very well, but if there is a function for computing the inner product between two vectors you could always do something like the following meta code: sum v = innerProduct v <1,1,1,1,1,1>
Best, Xiao-Yong