Hacker News new | past | comments | ask | show | jobs | submit login

For more practical examples like this, I highly recommend the Haskell Data Analysis Cookbook [1].

After learning the basics of Haskell, having a book chock full of practical examples of things like handling CVS files, JSON, trees, graphs, machine learning, and Haskell's outstanding support for parallel computation--is a really helpful resource. The code is extremely well written; clear, concise, and readable. The author has also put the source code on GitHub for each chapter. [2]

Afterwards, to take your skills to the next level, check out Simon Marlow's Parallel and Concurrent Programming in Haskell [3]. Simon now works at Facebook, where they're using Haskell in production [4] [5].

[1] http://www.amazon.com/Haskell-Analysis-Cookbook-Nishant-Shuk...

[2] https://github.com/BinRoot/Haskell-Data-Analysis-Cookbook

[3] http://www.amazon.com/Parallel-Concurrent-Programming-Haskel...

[4] https://code.facebook.com/posts/302060973291128/open-sourcin...

[5] http://community.haskell.org/~simonmar/papers/haxl-icfp14.pd...

Yes, I found the Data Analysis cookbook very helpful as well. However, it really drove home to me the need for a dataframe/Pandas-like library in Haskell... About half the code in every one of his examples was reading a CSV file, parsing it into some ad-hoc data structure etc. For very robust production apps, that can be justifiable, but for just a quick look at some data, it should just be a one-liner...

Carter is working on a numerical stack for Haskell that should make writing a pandas-esque library in Haskell pretty easy.

He can be found at https://twitter.com/cartazio and in the #numerical-haskell Freenode IRC channel.

of course that ignoring the fact that I kinda think people say "pandas" as a proxy for "i want a decent multi dimensional aggregation db thats a library for my language"... kinda thing. People say "data frame" but can mean a HUGE range of actual workloads

This rings very true to my use as well. I'd like to see something like Vinyl specialized to data frames, but nobody has built it yet.

Edit: see the post by coolsunglasses below—Carter's work is certainly the furthest along in this direction that I'm aware of.

And wrt syntx sugar for hlists and vinyl, there's some somestuff I hope to get into the merge window for ghc this week that might make that much nicer to work with. I hope.


well,try out the hcons/hnil stuff in https://github.com/cartazio/HetList/blob/master/HetList.hs and give me feedback asap so I can somehow wing getting it under consideration later this week. merge window for big stuff is FRIDAY

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact