函数式编程资料收集
概念
- 函数式编程入门教程(阮一峰) 回答了为什么要用函数式编程思维?
- 面向函数范式编程(Functional programming) 说明了对面向对象编程的区别的关系,是可以互补共用的。
- Kotlin极简教程:第8章 函数式编程 其中 Y组合子(Y - Combinator) ——匿名递归函数,解决匿名函数如何递归的问题。以及很多 Kotlin 的函数式编程语法。
- 强烈推荐以下两本书:
- 《JavaScript Allonge》 by Reginald Braithwaite
- 《Functional JavaScript》 by Michael Fogus
- 不要再尝试函数式编程了 一篇反讽的文章,其实在说函数式编程的好处,以及 OOP 的一些问题。
TypeScript/JavaScript
- mori A library for using ClojureScript’s persistent data structures and supporting API from the comfort of vanilla JavaScript.
- 函数式 TypeScript
- 在 TypeScript 中使用 flatmap 的配置:
"compilerOptions" {"lib": ["es2019"]}
- 在 TypeScript 中使用 flatmap 的配置:
- fp-ts
- rxmarbles
- 响应式编程,是明智的选择
- 掘金——响应式编程,是明智的选择
ClojureScript
- Cursive The Clojure(Script) IDE that understands your code.
- lumo Fast, cross-platform, standalone ClojureScript environment
- shadow-cljs ClojureScript compilation made easy!
- ClojureScript 入门指南
- Om A ClojureScript UI framework and client/server architecture over Facebook’s React.
Lua
Using
Ref
- Moses Utility library for functional programming in Lua. Like Lodash of Lua.
- lxsmnsyc/RxLua Not ready for production.
- bacon.lua
- lua-users
Go
- gomonkey is a library to make monkey patching in unit tests easy. 单元测试打桩框架
- minetest 我的世界开发框架
- Bacon mod for Minetest
Java 8
Java 8 才算是真的提高到函数式编程语言了,见以下这些资料:
fn + rx
- Rxjava2 二三四五六訪
- Functional Java is an open source library facilitating functional programming in Java.
- 用RxJava实现Rxbus替换EventBus事件总线