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.

The design of the Strict Haskell pragma

61 pointsby lmartelover 9 years ago

3 comments

chover 9 years ago
Does the bang pattern have the opposite semantics when Strict or StrictData pragmas are in use? Can one recover lazy semantics inside a Strict module? That would be convenient/confusing!
评论 #10580485 未加载
b6over 9 years ago
Back when I was way into Haskell, Johan Tibell was the guy I tried to be most like. I learned a lot from him not only about Haskell, but good software development practices in general, and how to work better with others. Great guy.
haskeldownvot5over 9 years ago
Idris is strict by default and has a stronger type system than Haskell that supports dependent typing and in effect forced the hand of the GHC developers and the wider Haskell community by showing laziness, one of the most unpopular aspects of Haskell, to be completely unnecessary for a modern, purely-functional language.<p>The strict pragma is a tacit admission that default non-strict evaluation was a mistake, and all of those who defended it here and on proggit for years should come clean and apologize for having done so, especially those who dishonestly tried to pass it off as an optimization while knowing full well that &quot;spaceleaks&quot; are one of the biggest performance concerns with deploying non-trivial Haskell code in production. I wrote off Haskell entirely for that very reason, and I&#x27;m not alone in having done so (search HN comments).<p>In fact, I would wager that if Haskell had not adopted such an unusual evaluation strategy, GHC would have required only a tenth of the manhours that have presently gone into it. Yes, you CS PhDs who secretly wish you were math PhDs wouldn&#x27;t be able to write toy programs with infinite lists, but that&#x27;s a small price to pay for lowering the language&#x27;s skyscraper-steep learning curve and giving it predictable, easily reasoned-about performance characteristics.
评论 #10580250 未加载
评论 #10580533 未加载
评论 #10580233 未加载
评论 #10580902 未加载
评论 #10581405 未加载
评论 #10580237 未加载