標籤:

函數式編程必讀論文有哪些?

類似於 "Why Functional Programming matters", "The Essence of Functional Programming" 這種。


腦洞序, 偏Haskell流

The Next 700 Programming Languages // ISWIM很多FP語言的語義在裡面都有

Why Calculating is Better than Scheming //Wadler安利algebraic data type

Why Functional Programming Matters //利用惰性求值把操作完全抽離出數據結構的思想很不錯

A tutorial on the universality
and expressiveness of fold // Origami programming

How to make ad-hoc polymorphism less ad hoc // Type Classes

The Essence of Functional Programming //Your Frist Monad Tutorial

Functional Programming with Overloading and Higher-Order Polymorphism //Type Classes應用

Data types à la carte //Expression Problem


Functional programming with bananas, lenses, envelopes and barbed wire

Theorems for free!

Imperative functional programming

Functional reactive animation

歡迎補充。

話說列的幾篇應該算經典論文,單純只是為了學點函數式編程的話,經典不是必讀。。


Zhenjiang Hu 的How functional programming mattered 最近寫的一篇文章,不算論文吧,但也蠻有意思的。

Functional programming with bananas, lenses, envelopes and barbed wire也很經典。

http://www-formal.stanford.edu/jmc/recursive.pdf ,配合The roots of lisp 風味更佳。

事實上McCarthy 很多paper都值得一看,看人家原汁原味的論文還是挺有意思的。

還有SPJ的很多論文也值得一看,不一一列舉了。


Implementing a functional language for highly parallel real-time applications = http://www.erlang.se/publications/implem.pdf.

Use of prolog for developing a new programming language =

http://www.erlang.se/publications/prac_appl_prolog.pdf.

Making reliable distributed systems in the presence of software errors

(面向軟體錯誤構建可靠的分散式系統) -&>

中譯 = http://man.lupaworld.com/content/other/erlang.pdf,

原版 = https://www.sics.se/~joe/thesis/armstrong_thesis_2003.pdf.

更多 =

https://www.sics.se/~joe/pubs.html,

https://www.sics.se/~joe/thesis/ ,

http://www.erlang.se/publications/publications.shtml 。


可以參見歷屆ICFP的論文。

但我想對這兩個問題更好的回答是任何一本某種FP語言的入門教程,比如Learn You a Haskell for Great Good!


發現題主需要這樣的論文安利自己函數式編程~~

這個一開始不要讀論文的(讀也無妨,讀sicp),來這個網站刷javascript/haskell之類的題目,然後可以看到很多函數化編程的置頂答案,就自然而然想用了,當然,還比較局限於map,filter,reduce,但已經能感受到操作list的快感了。

「自備梯子」http://www.codewars.com/r/jFjUnQ


推薦一本神書吧

sicp 計算機程序的構造和解釋 (豆瓣)

講的是lisp


可以從lambda-calculus相關的開始讀,畢竟了解歷史以及理論基礎是提升一門語言的必由之路。


推薦閱讀:

haskell中 foldr 與foldl的差別?
Clojure如何保證函數式編程的純度(purely functional programming)?
關於函數式編程的思考?
如何理解下面這段Haskell代碼?
參加 2017 年函數式編程聚會是什麼感受?

TAG:函數式編程 |