[Haskell-cafe] Why Haskell?

Jason Dagit dagit at eecs.oregonstate.edu
Sun Jul 23 17:04:31 EDT 2006


> You make a good point and the decision was by no means cut and dry.  However
> I made a point of developing some test code using some the newer array data
> types and looked at maintaining the array in Haskell and then directly
> calling Blas etc.  I even had a nice polymorphic matrix class going.
> However I found the array interface just a bit too 'clunky' to use a
> technical term.  The withArray interface is not very appealing.  The layers
> of lambda notation was giving me a headache.
>
> The idea of separating the imperative code into an imperative language was
> appealing to me.  Moreover using a stack based architecture for matrix
> operations makes the C end of things very easy to implement.  The big
> bugaboo of memory management issues pretty much disappears, and thinking of
> the world state in the IO monad as a stack of matrices has a nice intuitive
> appeal for me.  It seems to work well so far as I said earlier.  I'm not
> sure all my issues would have gone away if I had tried to do more of the
> matrix op.s in Haskell.  It is pretty much a given that I need to interface
> to external optimized libraries, that's where the big number crunching is
> occuring and those libraries have had teams of Ph.D.s working on them for
> years.  I want to leverage that.  My approach actually minimizes the amount
> of marshalling I have to do between C and Haskell.   The stack manipulations
> are simply scripted in a do clause, with nary an argument being passed.


Has any one created binding for the numarray library ala Python
Numarray?  I've heard it's a very good and fast array interface.
Perhaps it would be useful for this sort of task.

Jason


More information about the Haskell-Cafe mailing list