学了一周 haskell 的感受

2022 年 11 月 26 日
 amlee
我声明了一个类型
我把这个类型变成了 Functor, Nice!
我把这个 Functor 变成了 Applicative, Nice!
我把这个 Applicative 变成 Monad, Nice!
哎,类型检查没报错唉,Nice!
哎,我写了啥来着? Fuck!
哎,我要干啥来着? Fuck!

用这玩意写代码的都是神仙,他奶奶的邱奇就是大罗金仙
3618 次点击
所在节点    分享发现
12 条回复
QingXuJiaZhi
2022 年 11 月 26 日
我写纯函数式的感受也差不多, 写的时候很爽, 但后续维护就很头大, 看别人写的代码也很困难, 因为太灵活了.
xtreme1
2022 年 11 月 26 日
也不一定非要用它写什么东西, 很多 PL 的文章都默认你会 Haskell, 学了还是有用的.
amlee
2022 年 11 月 26 日
@xtreme1 我倒不是想用 haskell 写什么,只是越来越多的语言或多或少的引入了些 FP 的思想进去,我就想了解下这玩意到底是什么。
makelove
2022 年 11 月 26 日
@amlee 加少量 fp 思想挺好的,但我只接受象 js 界那样加点料的程度,如果真全面纯 fp 化就受不了了
thedrwu
2022 年 11 月 26 日
2008 年那会儿读了 real world haskell 于是用了几年,感觉跟现在的 rust 一样,很多优化的潜力没有发觉出来,monad transformer 慢得不能用
thedrwu
2022 年 11 月 26 日
发掘
luozic
2022 年 11 月 26 日
可以把代码看看否?
luozic
2022 年 11 月 26 日
如果用类似 typescript +any 那种用法,啥类型检测也没用啊。
amlee
2022 年 11 月 26 日
luozic
2022 年 11 月 26 日
newtype ST a = Trans (State -> (a, State))

rev :: Num a => ST a
rev = Trans (\s -> if s == Yes then (0, No) else (1, Yes))
ALXG
2022 年 11 月 27 日
你看到问题以后始终处于迭代解决的动机就好了.
Hawthorne
2022 年 11 月 27 日
学院派和田野派、工程派的分野还是很明显的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/898095

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX