TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Tackling the Awkward Squad: Interaction with the world in Haskell (2010) [pdf]

32 点作者 sksk将近 10 年前

2 条评论

sksk将近 10 年前
I have been reading Haskell, The Craft of Functional Programming. I have played around with Haskell for a bit now and going from understanding Monad laws to using them in real life has been a challenge. Often real world library Monads are stacked multiple levels and debugging has been particularly difficult.<p>Since the Monads chapter in the book was pretty light, I thought I will check out this paper that was referenced. Re-learning the Monad laws from this paper inspired me to look at the implementation details of some basic transformers, which has been very helpful. That said, the paper quickly went over my head after he started discussing denotational semantics!<p>I sometimes feel learning Haskell is like learning algebra but just that the laws are not obvious <i>to me</i>. I wish there are more materials that walk you through more complex implementation (like 3-level stacked Monads) step by step on how certain things work. I guess once you understand how something works, it is hard to explain to a beginner who doesn&#x27;t have much of an understanding -- much like riding a bike or swimming.
评论 #9951469 未加载
amelius将近 10 年前
This passage in section 2.8 must have raised some eyebrows:<p>&gt; I have to say that I think the GHC approach is a bit of a hack. Why? Because it relies for its correctness on the fact that the compiler never duplicates a redex.
评论 #9951017 未加载