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.

What I Wish I Knew When Learning Haskell

286 pointsby Cieplakabout 5 years ago

15 comments

eklavyaabout 5 years ago
Really just learn it.<p>It&#x27;s a pity I don&#x27;t use Haskell at work and yet learning Haskell was the single most bang for buck exercise I have ever done. &quot;Parallel and Concurrent Programming in Haskell&quot; is the best resource I have ever read on parallel and concurrent programming concepts.<p>Every programmer should learn this language even if they never plan&#x2F;get to use it.
评论 #22843181 未加载
评论 #22842242 未加载
评论 #22842349 未加载
评论 #22841830 未加载
shahbabyabout 5 years ago
A few years ago I accidentally deleted my entire Haskell assignment about 1 day before it was due.<p>Within a few hours I rebuilt it from scratch.<p>That&#x27;s when I realized the power of functional programming. There&#x27;s no way I have been able to recover that quickly if I had used an imperative programming language.<p>Since that experience I&#x27;ve tried to follow a functional programming style whenever I can. I&#x27;ve realized that every variable is another state which adds to the complexity of the code.
评论 #22845085 未加载
kmorghabout 5 years ago
I like this reference style of documentation, it tries to give a full overview of everything there is. Which is usually what I&#x27;m looking for. The sections are also concise.
dclabout 5 years ago
Great timing. I was just pondering what functional programming language I should attempt to learn in all my new downtime.
评论 #22841591 未加载
评论 #22841240 未加载
评论 #22844253 未加载
评论 #22840939 未加载
评论 #22841680 未加载
评论 #22846326 未加载
CJeffersonabout 5 years ago
I feel this might have grown beyond its title.<p>Picking the point where I gave up, giving me a list of 7 vscode plugins, without any guidance as to which are more mature, doesnt feel like a thing anyone would wish to know before they start.
评论 #22841427 未加载
评论 #22840855 未加载
评论 #22840772 未加载
评论 #22841887 未加载
评论 #22841917 未加载
hopiaabout 5 years ago
I find myself coming back to this for various stuff all the time. It&#x27;s a great reference that touches basically everything important for writing real apps with Haskell.
merricksbabout 5 years ago
Earlier discussions:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=5546679" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=5546679</a> (2013)<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=6868303" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=6868303</a> (2013)<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=7637278" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=7637278</a> (2014)<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10209249" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10209249</a> (2015)
评论 #22843102 未加载
harry8about 5 years ago
If you&#x27;re thinking of learning Haskell you should consider the software written in haskell as an indicator of, well, something.<p>List all the programs useful for something other than programming a computer written in haskell:<p>Xmonad window manager Git annexe Pandoc<p>What else, let&#x27;s get the full list. Exclude anything that we can&#x27;t directly see or use.<p>I say, yes! Learn Haskell! Just don&#x27;t expect to write any useful programs because they&#x27;re pretty rare for people to have written when they&#x27;ve doesn&#x27;t time learning Haskell.<p>It is great fun. Do it!
评论 #22845728 未加载
评论 #22844667 未加载
w3mmppabout 5 years ago
Ah, Haskell, the language I wish used s-expressions...
评论 #22843336 未加载
anaphorabout 5 years ago
In the section on &quot;Boolean Blindness&quot;, I find the example a bit confusing.<p>I would expect `isNotJust (Just foo)` to equal `False`, not `True`, and vice versa `isNotJust Nothing` to equal `True`.<p>The point has some validity (that you should try to encode data into the types if you can), but the example makes no sense in my opinion.<p><a href="http:&#x2F;&#x2F;dev.stephendiehl.com&#x2F;hask&#x2F;#boolean-blindness" rel="nofollow">http:&#x2F;&#x2F;dev.stephendiehl.com&#x2F;hask&#x2F;#boolean-blindness</a>
评论 #22843166 未加载
privethedgeabout 5 years ago
For those who really want to blow their mind, I suggest learning Coq instead <a href="https:&#x2F;&#x2F;softwarefoundations.cis.upenn.edu&#x2F;" rel="nofollow">https:&#x2F;&#x2F;softwarefoundations.cis.upenn.edu&#x2F;</a>
spopejoyabout 5 years ago
It&#x27;s really aggravating that HN goes against it&#x27;s own culture so thoroughly when it comes to Haskell. We&#x27;re supposed to comment on what TFA says, not lick our wounds about how Haskell wasn&#x27;t what we wanted it to be. f you can&#x27;t contribute to the thrust of TFA how about creating space to listen to people who actually know what they&#x27;re talking about?<p>Every single piece of hackneyed received wisdom and FUD in here can be easily countered if you talk to somebody with actual production Haskell experience. Speaking for myself:<p>- I run a startup that has production applications making money for 4 years now written entirely in Haskell with 6 devs doing nothing but Haskell (as well as engineers working in JS and our own language, Pact, yes, written in Haskell).<p>- When we need more bandwidth, we work with an all-Haskell consultancy that itself has no trouble finding work and is very successful in their own right.<p>- Before that, I built a group at a major bank writing Haskell code and getting it out in production, and outperforming Java apps.<p>- The tired &quot;eww static types aren&#x27;t for real business&quot; is opinions masquerading as &quot;facts&quot;. If you are a half-decent engineer in ANY language you can make your code refactorable for changing requirements. Whining that types makes that harder just shows your own limitations. Any decent programmer working in a strongly-typed system leverages types to make code _more_ refactorable in _less_ time with _fewer_ bugs. But hey these are just our anecdata too. Here&#x27;s what I&#x27;m not doing: spreading FUD about Python or Clojure or JS, I&#x27;m too busy loving what I do.<p>- From a hiring perspective, Haskell programmers as a group offer an immense strategic advantage, and it&#x27;s mainly _because_ they had to learn Haskell on the weekend and it wasn&#x27;t handed to them. That shows passion and grit. I&#x27;ve built two teams from scratch now in totally different circumstances and it is simply breezy to find a wide variety of experience levels to craft a team from; they are by far the best teams I have ever worked with, with zero duds. The community is strong and excellent and helps each other out as far as job hunting goes.<p>Don&#x27;t blame Haskell if it didn&#x27;t stick, don&#x27;t hate on Haskell if you find it intimidating or pointless. If anything, you should be grateful that there is a language that is actually different enough to attract a different kind of programmer, lord knows it&#x27;s why I&#x27;m here: after having jobs in Java, C++, Perl, Ruby, JS, Visual Basic, Hypercard, you name it, it was nice to see that there&#x27;s a different way to do things. It&#x27;s really fun, there&#x27;s always more to learn (not true of every language btw), and finally, it kicks serious ass on the performance side (as GC&#x2F;runtime languages go).
eskaabout 5 years ago
Not what I expected. Seems to be more of a primer&#x2F;tutorial.
frankmcsherryabout 5 years ago
Haskell.
评论 #22841803 未加载
评论 #22842589 未加载
TazeTSchnitzelabout 5 years ago
What&#x27;s up with the formatting on this page? In Firefox for iOS (same rendering engine as mobile Safari), all lines but the first one in code listings have 4-character indents, and lines use a larger-than-normal font size seemingly at random.
评论 #22841459 未加载
评论 #22840962 未加载