TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

How I Start: Haskell

369 pointsby kungfooguruover 10 years ago

14 comments

qubitcoderover 10 years ago
For more practical examples like this, I highly recommend the Haskell Data Analysis Cookbook [1].<p>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&#x27;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]<p>Afterwards, to take your skills to the next level, check out Simon Marlow&#x27;s Parallel and Concurrent Programming in Haskell [3]. Simon now works at Facebook, where they&#x27;re using Haskell in production [4] [5].<p>[1] <a href="http://www.amazon.com/Haskell-Analysis-Cookbook-Nishant-Shukla/dp/1783286334" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;Haskell-Analysis-Cookbook-Nishant-Shuk...</a><p>[2] <a href="https://github.com/BinRoot/Haskell-Data-Analysis-Cookbook" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;BinRoot&#x2F;Haskell-Data-Analysis-Cookbook</a><p>[3] <a href="http://www.amazon.com/Parallel-Concurrent-Programming-Haskell-Multithreaded/dp/1449335942" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;Parallel-Concurrent-Programming-Haskel...</a><p>[4] <a href="https://code.facebook.com/posts/302060973291128/open-sourcing-haxl-a-library-for-haskell/" rel="nofollow">https:&#x2F;&#x2F;code.facebook.com&#x2F;posts&#x2F;302060973291128&#x2F;open-sourcin...</a><p>[5] <a href="http://community.haskell.org/~simonmar/papers/haxl-icfp14.pdf" rel="nofollow">http:&#x2F;&#x2F;community.haskell.org&#x2F;~simonmar&#x2F;papers&#x2F;haxl-icfp14.pd...</a>
评论 #8619626 未加载
Tehnixover 10 years ago
Awesome article! You really cover a lot, in a short but easily digestable write-up! It might be a little fast for complete beginners though :&#x2F;...<p>I&#x27;ve come to be quite happy with my current VIM setup. I&#x27;m using,<p>* haskellmode for _t and _T (show and insert types, respectively) [0]<p>* ghc-mod for integration with neco-ghc and syntastic and for running ghc check [1]<p>* neco-ghc [2]<p>* neocomplete that uses neco-ghc, for completion suggestions [3]<p>* syntastic for hlint checking on save [4]<p>[0] <a href="https://github.com/lukerandall/haskellmode-vim" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;lukerandall&#x2F;haskellmode-vim</a><p>[1] <a href="https://github.com/eagletmt/ghcmod-vim" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;eagletmt&#x2F;ghcmod-vim</a><p>[2] <a href="https://github.com/eagletmt/neco-ghc" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;eagletmt&#x2F;neco-ghc</a><p>[3] <a href="https://github.com/Shougo/neocomplete.vim" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Shougo&#x2F;neocomplete.vim</a><p>[4] <a href="https://github.com/scrooloose/syntastic/" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;scrooloose&#x2F;syntastic&#x2F;</a>
Fede_Vover 10 years ago
Nicely done. I find that the most useful pedagogic tool for learning are extensively annotated non-trivial examples (with emphasis on extensively annotated).
rnhmjojover 10 years ago
What do you think about the lens library?<p>I have been trying Haskell for a few weeks and this library feels strange. Also I don&#x27;t really think I need the things it provides. But perhaps I just don&#x27;t understand it.
评论 #8618925 未加载
评论 #8618901 未加载
评论 #8618770 未加载
评论 #8618828 未加载
评论 #8618852 未加载
评论 #8621948 未加载
评论 #8619274 未加载
Pephersover 10 years ago
Great article! As a programmer yet to have tried Haskell, this was actually one of the first articles I&#x27;ve read about Haskell which made sense to me. I tend to have a lot easier to learn from practical examples than the more academic approach normally seen in Haskell learning material and blog posts.
评论 #8622661 未加载
houshuangover 10 years ago
Great write up, nice dissection of a simple (but not hello world simple) app, with all the ecosystem setup, etc. Apparently he is writing a book now - looking forward to that.<p>I think it is very hard to understand what a &quot;beginner&quot; needs - I now come across tutorials that finally make a certain concept &quot;click&quot;, however the reason might not be that that specific tutorial was great, but rather that I have already hit my head on a bunch of other tutorials and practice that &quot;prepared me&quot;... Howver, Chris Allen actually working on teaching Haskell to a bunch of beginners is probably a great way of understanding what helps people to &#x27;get it&#x27; sooner.
shubhamjainover 10 years ago
When it comes to learning something like Haskell you are caught in dilemma between two ideas - Should you learn a functional programming language for fun and because it will make you a better thinker? or should you use your existing tools &#x2F; stack to build something better than you have done before. What will be the better utilization of time?<p>While I was more oriented to former in the past, I have been inclining to latter, lately, for the reason, that what you have built remains more obvious to show and be proud of rather than knowledge of a programming language which might not be practical to build something good for variety of reasons (not soon to say the least).
评论 #8620111 未加载
pdpiover 10 years ago
Nice article.<p>As of lately, I&#x27;ve been using a bundled GHC app for OSX development. Makes it quite easy to keep (and switch between) multiple Haskell environments.<p><a href="http://ghcformacosx.github.io/" rel="nofollow">http:&#x2F;&#x2F;ghcformacosx.github.io&#x2F;</a>
评论 #8619120 未加载
egeozcanover 10 years ago
For me, the lectures from Nishant Shukla were really helpful: <a href="http://shuklan.com/haskell/" rel="nofollow">http:&#x2F;&#x2F;shuklan.com&#x2F;haskell&#x2F;</a>
austinzover 10 years ago
This is a great, well-written article. I&#x27;m going to try it out later tonight. Hopefully going through a real-life example will make LYAH a little less cryptic.
aikahover 10 years ago
I like the How I Start serie.On the other hand,while I get that languages have their specificities,I&#x27;d like the same project to be implemented in all these languages,to be able to get a quick understanding about how working with these languages feels like.<p>You know like a TodoMVC ,but in form of tutorial around the same project,a webapp for instance,which would require as little library as possible.
评论 #8620271 未加载
评论 #8619177 未加载
honestlyCuriousover 10 years ago
This is a good series. Very few tutorial mention the dev environment setup.<p>It would be great if this can be complemented with a list of projects along with the unit&#x2F;integration test cases (only description) that the end-system should pass along with a cloud deployment specification. There could be advanced section that encourages discovering edge cases.<p>When one wants to practice they can slowly climb the ladder to understand how to implement a system and gain expertise. I always find myself lacking in ideas on how to practice what I know. Practising the same set of data structures and algorithms is not very motivating.
sinatraover 10 years ago
Very interesting! Is there something like this for other languages &#x2F; frameworks? I&#x27;d love to see something like this for Ruby + Sintara + MySQL&#x2F;PostgerSQL for writing a RESTful API setup.
评论 #8619938 未加载
评论 #8619405 未加载
michaelhoffmanover 10 years ago
This is a really great idea and series. Looking forward to more.