函数式变成
Awesome Functional Programming
¶
基于 Awesome 项目
What is this about?¶
在过去的十年中,函数式编程由于其 有些人会说,声明性特征对于并行计算非常有效 以及整个使用 Moores Law.
这个 repo 收集了一些关于函数式编程的材料,比如博客文章、论文、视频, 工具等,也旨在阐明其背后的一些理论主题.
想贡献吗? 请参阅 this 第一的.
Blog posts¶
- Personal thoughts on the current functional programming bandwagon 尽管名字如此,这篇文章实际上澄清了函数式编程的一些基本概念,解释了 FP 的一些历史和 FPs 功能在命令式语言上的实现,并讨论了声明式编程的所有大惊小怪以及为什么它在最近变得如此流行几年.
- A Monad in Practicality - Controlling Time
- A Monad in Practicality - First Class Failures
- How to desugar Haskell Code
- Functors, Applicatives, And Monads In Pictures
- Monads Made Difficult
- Your easy guide to Monads, Applicatives, & Functors
- Async Streams in C#
- How to leverage functional programming in Kotlin to write better, cleaner code
Papers¶
- Tradeoffs between Unique Types and Monads
- The implementation of Functional Programming Languages - 西蒙佩顿琼斯的一篇论文
- Sound and Decidable Type Inference for Functional Dependencies - Haskell 和 GHC 的主要创建者关于类型推断的另一篇非常著名的论文
- Template Meta-Programming for Haskell - 关于在 Haskell 中编译时生成代码的论文
- Why Functional Programming Matters
- From Higher-Order Logic to Haskell: There and Back Again
- Translating Haskell to Isabelle
Wikis¶
- nLab - 一个维基实验室,其中包含从范畴论角度出发的文章、讨论和工具,范畴论是 FP 背后的主要数学.
- Haskell/Category Theory - 从 Wikibooks 很好地概述了应用于 Haskell 的范畴论.
- Haskell Wiki
Books¶
- Learn you a Haskell - 书籍,但您也可以免费在线阅读. 非常适合初学者.
- The Little Prover - 谈到 一个名为 JBob 的定理证明器,用于在 LISP 中编写证明.
- Isabelle/HOL - A Proof Assistant for Higher-Order Logic - 一本关于在 Isabelle/HOL 中实现逻辑形式主义的书.
- The Little MLer - 一本专注于标准 ML 中的教学类型、递归思维和其他重要主题的书.
- Introduction to Programming using SML - 以非常数学的方式向您介绍编程设计.
- How to Design Programs / Second Edition
- Introduction to Functional Programming
- Haskell in Depth - 关于 Haskell 的完美第二本书,深入探讨了示例和应用场景,旨在教授 Haskell 的工作原理以及如何正确应用它.
- Grokking Simplicity: Taming complex software with functional thinking - 使用真实场景从第一原理开始教授函数式编程.
- Functional Programming in Scala, Second Edition - 修订了国际畅销书,增加了新的练习、注释和对 Scala 3 的全面覆盖.
- Functional Programming in C#, Second Edition - Real world examples and practical techniques for functional programming in C#.
- Grokking Functional Programming - 函数式编程简介.
- Functional Programming in Kotlin - 掌握函数式编程的技术和概念,以交付更安全、更简单、更有效的 Kotlin 代码.
- Functional Design and Architecture - 使用函数式编程构建生产质量应用程序的设计模式和架构,以及 Haskell 和其他 FP 语言的示例.
- Haskell Bookcamp - 在本书中,您将获得编写 Haskell 代码并将函数式编程应用于实际开发挑战的实践经验.
- Mastering Functional Programming - 如果你有命令式和 OOP 背景,无论你使用哪种编程语言,本书都将引导你穿越函数式编程的世界.
- Jax in Action - 一本关于 JAX 数值计算库的书.
- Learn PowerShell Scritping in a Month of Lunches - 使用 PowerShell 脚本自动执行复杂的任务和流程.
- F# in Action - Book about practical F# development skills needed to create professional applications.
- Elixir in Action, Third Edition - Fully updated to Elixir 1.14, this authoritative bestseller reveals how Elixir tackles problems of scalability, fault tolerance, and high availability.
Communities¶
- Lambda the Ultimate - 专注于讨论研究、论文的社区 和学术界的热门话题. 非常高的技术讨论水平.
- FP Complete - 专注于帮助公司和学生学习和实施 Haskell 函数式编程的社区. 最著名的 Haskell 学习中心之一的主办方: School of Haskell
- Haskellers - Haskell 程序员的聚会点
- ElixirLangMoscow - 俄罗斯 Elixir 社区
Discussions (Quora, Stack Overflow, Reddit, etc)¶
Videos¶
- Dont fear the Monad - 解释 Microsoft 研究员 Brian Beckman 提出的函数式编程中最晦涩的主题之一.
- Haskell is useless - 西蒙·佩顿·琼斯 对他的创作太谦虚了.
- Brian Beckman: The Zen of Stateless State
- Erik Meijer: Functional Programming
- Scala Monads: Declutter Your Code With Monadic Design
- Philip Wadler and Erik Meijer: On Programming Language Theory and Practice
- Kotlin for Android & Java Developers - 关于 Kotlin 的实时视频课程:函数式编程、面向对象和在 Kotlin 中构建 Android 应用程序.
- Do we really need OOD and FDD? - 与面向对象设计 (OOD) 相对的功能声明式设计 (FDD)
Lectures¶
- C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals - 来自 Haskell 的一位创始人的系列讲座
- Adventure with types in Haskell - Simon Peyton Jones - Simon Peyton Jones 关于 Haskell 强类型系统的讲座.
- The Algebra of Algebraic Data Types - 很好的解释 关于数学和代数数据类型之间的关系,代数数据类型是一些非常常见的 FP 语言(例如 Haskell 和 ML)的类型系统.
Platforms¶
- [Paqmind.com] – 学习和改进编程的指南和挑战. 所有内容都是面向 CS 和 FP 的.
Tools¶
- Isabelle/HOL - 基于高阶逻辑的通用证明助手
Repos¶
- Idris Koans - 伊德里斯教学项目. 具有依赖类型的通用函数式编程
- Functional Javascript Workshop - 一个功能性的 Javascript 研讨会.
- J-Bob - 《小小证明者》一书中的证明助手
- Haskell Must Watch - 关于 Haskell 的视频、讲座和课程列表.
- Intro SML - 本书的代码、更正和信息:
Introduction to Programming using SML
- Functional Programming In JavaScript - JavaScript 函数式编程资源列表.
- Functional Programming Jargon - 为 FP 提供词汇表的项目,让学习 FP 更容易.
- Bow - Swift 中类型化函数式编程的配套库.
- Parsing With Haskell Parser Combinators - 使用 Haskell 解析器组合器进行解析的分步指南.
People¶
- Simon Peyton Jones - Haskell 语言和格拉斯哥 Haskell 编译器的创建者之一. 微软研究员.
- Philip Wadler - 爱丁堡大学理论计算机科学教授,著名论文 Propositions as Types 的作者. Java 泛型类型背后的主要人物之一.
- Matthias Felleisen - 多本书的作者,如如何设计程序和小策划者.
- Erik Meijer - 前微软软件架构师,函数式编程研究员,讲授函数式编程、软件设计和响应式编程.
- Brian Beckman - Former Microsoft Researcher, actual Software Engineer at Amazon. Contributed to implementing FP features to inumerous Microsoft technologies such as C#, LINQ and F#
License¶
在法律允许的范围内, Lucas Viola 已放弃该作品的所有版权和相关或邻接权.