惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CXSECURITY Database RSS Feed - CXSecurity.com
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园_首页
博客园 - 【当耐特】
小众软件
小众软件
A
About on SuperTechFans
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Martin Fowler
Martin Fowler
M
MIT News - Artificial intelligence
Vercel News
Vercel News
爱范儿
爱范儿
Google DeepMind News
Google DeepMind News
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Threatpost
人人都是产品经理
人人都是产品经理
H
Help Net Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
LINUX DO - 热门话题
B
Blog
F
Full Disclosure
P
Proofpoint News Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
Threat Research - Cisco Blogs
L
LangChain Blog
博客园 - Franky
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Project Zero
Project Zero
I
InfoQ
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The Cloudflare Blog
V
Vulnerabilities – Threatpost
云风的 BLOG
云风的 BLOG
C
Cyber Attacks, Cyber Crime and Cyber Security
C
Check Point Blog
K
Kaspersky official blog
WordPress大学
WordPress大学
腾讯CDC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Securelist
T
Tenable Blog
N
News and Events Feed by Topic
The GitHub Blog
The GitHub Blog
W
WeLiveSecurity
Stack Overflow Blog
Stack Overflow Blog
O
OpenAI News
Blog — PlanetScale
Blog — PlanetScale
量子位
Simon Willison's Weblog
Simon Willison's Weblog
T
Tor Project blog
P
Proofpoint News Feed

Haskell

哪个函数返回参数本身? - V2EX GHC 9.2 发布了 - V2EX 那本书可以称为编程界的《葵花宝典》? - V2EX 国内有什么好的 Haskell 社群( qq/wechat/论坛)吗? - V2EX 如何修复错误“Variable not in scope: md5 :: C8.ByteString -> a0”? - V2EX 写了篇 Applicative 的小总结~ - V2EX 有没有小伙伴一起来团购 Haskell Programming 这本书 - V2EX 为什么学了 Haskell,果然印证了 V2EX 上的 智者(忘记网名)的断论,“学了 Haskell,回不去了“, 回不去了耶。 - V2EX 贴 Haskell 代码,解一道小题。给任意字符串,找出长度最长的数字串。请随意扔砖头。 http://www.v2ex.com/t/259360#reply18 - V2EX 一个很酷的 Hakyll 静态博客例子 - V2EX 学习 Haskell 过程中,写了一篇对 Functor 的总结 - V2EX 发现一本好书《Haskell Data Analysis Cookbook》 - V2EX How to Write a Spelling Corrector - Haskell - V2EX Haskell 入门学习资料整理 - V2EX Haskell for Mac - V2EX Yesod - Haskell 的 Web 开发框架 - V2EX Haskell 怎么在只有一个元素的列表上定义函数 - V2EX 一段 Haskell 代码求助! - V2EX Haskell 很适合做编译器前端 - V2EX Introduction to Haskell - V2EX 在 Github 上弄了一个 blog, 写写 Haskell - V2EX 关于一些名词翻译的确定 - V2EX 有没有人有兴趣补完 《趣学指南》 的汉语翻译? - V2EX 贺 haskell 开区,这是交流处。 - V2EX
Haskell 这门语言怎么样? - V2EX
yocoso · 2016-06-03 · via Haskell

@anubiskong 客气了, 我学到点皮毛, 深入的要看知乎上有些 Haskell 的阐述,
我是在前端这边跟进函数式方案写 UI 的套路的, 这边带来的抽象改变很大,

以往我们写程序就是写一堆状态, 然后想怎么操作, 再想到把复用的过程合并到一起, 再把特定的界面抽象为对象称为组件, 然后组件之间相互作用抽象为消息, 这样一个套路构建一套前端 MVC 方案处理, 比如说 Backbone.

到了函数式编程整个思维还在改变, 引入了不可变数据. 因为用对象化的方式思考问题常常带来很多组件的局部状态, 状态多了组件之间的消息通讯也很复杂, 最终不敢随便扩大规模. 但是函数式的思路是引入不可变数据(消耗性能和计算量为对价), 把 MVC 的 Model 抽象为一个整体随时间更新, 把 View 部分整个用 DSL 抽象一遍, 也就是 React 那边发生的组件化开发跟性能优化的事情.

因为在函数式编程当中数据不可变性(以及对副作用的限制), 函数复用的可靠性相比不做限制的语言大大增强, 可以做更复杂的复用和抽象. 特定在前端的话, JavaScript 除了可变的数据结构, 还有 this 之类很多奇怪的问题影响到复杂的抽象过程, 可靠性上有点问题, 虽然功力够的话写大型软件也不是不可以. 结果就是在 Elm 和 React 这样的方案中相对容易去做 DOM 操作的合并, 做运行时的代码替换, 做 Time travel debugging, 做组件化, 而其他方案相对复杂一些. 术语方面可能不严谨, 但应该表达清楚.

在 Haskell 里边的话还有类型类,并发,副作用之类的抽象, 我说不上来.