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.

Software Development Languages: Haskell

96 pointsby colingwover 3 years ago

8 comments

bedobiover 3 years ago
I wish there were more articles like this. So much content online on programming languages go trough the basics of the language itself, with very "forced" code examples to showcase some feature of the language, and while they're great for what they are, they don't tell me anything about "what does the software development life cycle actually look in this language?" (including tools like package managers, IDEs etc etc)
评论 #30157201 未加载
dwohnitmokover 3 years ago
&gt; Haskell is in the best-of-class category when it comes to documentation. Haskell&#x27;s type system quickly earns your trust, and once it does, you almost never need to read someone else&#x27;s code in order to understand it; you can just read the type signatures shown in the docs and get on with your life.<p>I don&#x27;t think this is an accurate representation of how the Haskell community itself views the state of Haskell documentation. A large section of the community views the state of documentation as <i>very not</i> best-of-class and strongly advocates for improving it (and views type signatures as a poor replacement for at least examples). See e.g. <a href="https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;haskell&#x2F;comments&#x2F;2ory86&#x2F;there_is_a_documentation_problem_stop_pretending&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;haskell&#x2F;comments&#x2F;2ory86&#x2F;there_is_a_...</a><p>Likewise &quot;Otherwise, toss a coin!&quot; as a response to Cabal or Stack makes me sad. Tooling can often depend on exclusively either one or the other (see e.g. <a href="https:&#x2F;&#x2F;plugins.jetbrains.com&#x2F;plugin&#x2F;8258-intellij-haskell" rel="nofollow">https:&#x2F;&#x2F;plugins.jetbrains.com&#x2F;plugin&#x2F;8258-intellij-haskell</a>) and the fact that from a capability point of view, they&#x27;re converging on the same thing makes it an unnecessary point of friction for new users, although I understand the reasons for why they both came to be.<p>EDIT: I should detach myself from the usual curmudgeonly HN comment to say that the organization of the article is very well done. I would like to see how non-Haskellers approach it because I think stuff like &quot;What language idioms are available?&quot; is a good way to approach a new language.<p>EDIT 2: The original Reddit link was far older than I thought it would be. Here&#x27;s a more extreme (more than I personally agree with) take on the situation, but is a lot more recent: <a href="https:&#x2F;&#x2F;old.reddit.com&#x2F;r&#x2F;haskell&#x2F;comments&#x2F;or93z3&#x2F;what_is_your_opinion_on_haskell_remaining_as&#x2F;h6h6q12&#x2F;" rel="nofollow">https:&#x2F;&#x2F;old.reddit.com&#x2F;r&#x2F;haskell&#x2F;comments&#x2F;or93z3&#x2F;what_is_you...</a>
评论 #30154904 未加载
评论 #30161556 未加载
评论 #30155958 未加载
评论 #30155767 未加载
daenzover 3 years ago
I learned Haskell a few years ago, enough to read it, but not fluent enough to comfortably write it. Haskell scratches a real intellectual itch, related to how it formally captures certain concepts (types, purity, etc). But my opinion is that Haskell collapses under the weight of its terseness and academic complexity. Can it be extremely elegant? Yes, in contrived examples[0]. Is it able to maintain this elegance when dealing with common problems? No.<p>0. <a href="https:&#x2F;&#x2F;wiki.haskell.org&#x2F;Introduction#Quicksort_in_Haskell" rel="nofollow">https:&#x2F;&#x2F;wiki.haskell.org&#x2F;Introduction#Quicksort_in_Haskell</a>
评论 #30159327 未加载
评论 #30157015 未加载
评论 #30156086 未加载
评论 #30156471 未加载
评论 #30156302 未加载
lambdasquirrelover 3 years ago
It might be worth giving a pointer on setting up your own stackage server. Otherwise, Haskell projects can become an ugly monolith sooner in a company&#x27;s lifetime than one might expect. It can then become a double-edged sword that you&#x27;re quite productive in the language.<p>The CI for a medium-sized Haskell-using company should have multiple instances of:<p>Project repo -&gt; CI compilation -&gt; tests -&gt; publish library to company&#x27;s internal stackage.<p>That way, when someone inevitably publishes something that breaks things, the other teams will have an <i>easy</i> mitigation &#x2F; known-good-version to fall back on.<p>In other codebases (especially if they use the typical popular dynamic languages), you might start breaking things up into microservices sooner than you would with Haskell. But given that Haskell runs much, much faster than those other languages, and isn&#x27;t quite the memory hog that the JVM is (when we&#x27;re comparing to Scala), you might find that it&#x27;d help you scale if you broke up the codebase into libraries, rather than breaking it up into microservices. This is especially the case if your company &#x2F; project is bottlenecked on ops (which many companies are, not just ones using Haskell). Multiple libraries is much easier to manage than microservices and forestalls the point at which you&#x27;ll need serious dedicated ops.
评论 #30156327 未加载
laurensrover 3 years ago
Trivia: the recently posted PostgREST project was written in Haskell.
colingwover 3 years ago
This is Part 3 of an on-going series about the usage of various languages for real-world software development.
chopinover 3 years ago
I like the article much but I am missing some statements around IDE. What I like about typed languages is the code completion and refactoring it enables when used in a good IDE. Code completion also enables me to &quot;explore&quot; what is possible at the current location. Are there any good IDE&#x27;s out there for Haskell?
评论 #30163839 未加载
Barrin92over 3 years ago
From a practical software development POV I think the biggest problem with Haskell is the laziness by default. It&#x27;s the central theoretical motivation for the language but when it comes to real work there are so many ways it can bite you, which is ironic given how much Haskell prioritizes safety in almost every other aspect of the language.<p>To me it&#x27;s always been hard to reconcile that you have to deal with so many restrictions in the language that save you from ending up in some ill-behaving program state, yet a wrong fold can basically blow your entire program up.
评论 #30156053 未加载