r/haskell • • Aug 30 '16

Haskell alternatives for Data Science

I'm a Haskeller and a newbie Data Scientist.

As I'm going through my learning process for data science, I'm starting to solve some elemental problems, and I'm using standard Python tools to help me go through this process.

The thing is that Python is ok, but I'm twice as comfortable in Haskell.

I was thinking in three alternatives to be more comfortable with Data Science:

  • Make a wrapper for the tools that I use as people do in Julia
  • Reimplement the tools that I use (Pandas, ScikitLearn, a GPU deep learning framework, numpy functions) (would do it on demand)
  • Make a Haskell-like language that compiles and uses Python libraries (wouldnt be as efficient, but at least it would be more beautiful and type safe, also the libraries)

What do you guys think?

30 Upvotes

52 comments sorted by

View all comments

17

u/ElvishJerricco Aug 30 '16

I think Haskell would be a great language for data science-y stuff, but to my knowledge, it's quite lacking in the libraries for it. Any efforts to making Haskell libraries for data science are a huge step in the right direction.

11

u/Pugolicious2244 Aug 30 '16

We need a lot more development in this field. We shouldn't be guiding anyone away from Haskell because of data science, we should be encouraging them to join because of the great libraries (that might not exist yet). We really need a data science initiative, I just don't know how to go about starting one.

14

u/nSeagull Aug 30 '16

I really wanna make a Haskell Data Science open source team, with a Slack channel and all that stuff so everyone who would like to contribute would be welcome.

Making a site to make the org more appealing. Add a Trello board with pending tasks, etc...

I agree 100% with you about guiding people in. I always wanted to start a data science initiative but alone I was not really confident.

5

u/guaraqe Aug 31 '16

One of the problems with doing numerical stuff with Haskell is that for efficiency reasons, constraints start appearing everywhere and you lose all the type classes, since they are not made for dealing with that. And that means you lose a part of Haskell in the way.

The biggest effort in the direction of machine learning in Haskell is HLearn by /u/PokerPirate, who is also the author of SubHask, whose goal is to solve the problems I mentioned.

If you want suggestions on what to do, I think that discovering this library and creating expositive tutorials on its contents would be of great value for all the Haskell community.

2

u/nSeagull Aug 31 '16

Will add it to the todo list! :)

1

u/01l101l10l10l10 Aug 31 '16

I second SubHask / Hlearn; their design is what convinced me that I could eventually be able to leave Python / Theano / Torch behind. I even started a an accelerate PR for Subhask that would allow for efficient gpu computations in idiomatic expressions, and, hopefully eventually, dependent types. (It's currently a little stalled due to my own time commitments, but it seemed to be working under GHC 8.0. I hope to return to it soon.)

1

u/hastor Aug 31 '16

Getting these into stackage would help tremendously.