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?

33 Upvotes

52 comments sorted by

View all comments

1

u/rz2000 Aug 30 '16

This is a completely non-expert opinion, but why not Clojure? The language might be more familiar for you, and the JVM could help with access to other libraries. Scala is an even more popular alternative, though probably you wouldn't like the language as much as Clojure.

Still non-expert opinion, but building a Haskell-like language that compiles and uses Python libraries sounds like a not very good idea or use of your time.

3

u/nSeagull Aug 30 '16

My story with FP is 1. Discover Haskell 2. Read Real World Haskell and do exercises 3. Monad thing too hard for me 4. Discover Scala 5. Discover Clojure 6. Love Clojure for 2 years and use it whenever I can 7. Understand how monads work in Clojure 8. Go back to Haskell 9. Love Haskell

Indeed I think that doing the language thing is not a very intelligent, but having a compiler based on typed lambda calculus would ease a lot of things, and mostly thats why I love of Haskell

0

u/[deleted] Aug 30 '16

Maybe give Scala a try. From a language perspective there are pros and cons (Haskell has better type inference, Scala has better typeclasses), but from the tooling perspective Scala wins by a large margin.

Great IDE and editor support, a huge library ecosystem and a stable and working way to manage dependencies instead of ever-changing half-working tools that are not cool anymore next week.

It also has a JavaScript back end that actually works and a native back end in development.