函數程式語言
维基百科,自由的百科全书
| 本条目没有列出任何参考或来源。(2013年4月20日) |
| 编程范式 |
|---|
|
函數式編程(英语:Functional programming),又稱泛函編程,是一種編程典範,它將電腦運算視為數學上的函數計算,並且避免狀態以及可變資料。函數程式語言最重要的基礎是 λ 演算(lambda calculus)。而且λ演算的函數可以接受函數當作輸入(引數)和輸出(傳出值)。
和指令式編程相比,函數式編程強調函數的計算比指令的執行重要。
和程序編程相比,函數式編程裏,函數的計算可隨時調用。
目录 |
函數式編程語言 [编辑]
函數式編程經常使用遞歸。
純函數式的程式沒有變數和副作用。因為純函數式程式設計語言沒有變數,函數沒有副作用,編寫出的程式可以利用記憶化、公共子表達式消除和並行計算在運行時和編譯時得到大量優化。
典型的函數式編程語言 [编辑]
純函數式編程語言 [编辑]
- 強靜態類型
- 弱類型
非純函數式編程語言 [编辑]
其他函數式編程語言 [编辑]
歷史 [编辑]
函數式編程中最古老的例子莫過於1958年被創造出來的LISP了,透過 LISP,可以用精簡的人力。較現代的例子包括scheme、Haskell、Clean、Erlang和Miranda等。雖然 λ 演算並非設計來於計算機上執行,但可視為第一個函數式編程語言。1980年代末期,Haskell發佈,企圖集合很多函數式編程研究裏的想法。
速度和空間上的顧慮 [编辑]
函數式編程常被認為嚴重耗費在CPU和記憶體資源。主因有二:
- 早期的函數式編程語言實現時並無考慮過效率問題。
- 有些非函數式編程語言為求提昇速度,不提供自動邊界檢查或自動垃圾回收等功能。
外部鏈結 [编辑]
|
||||||||||||||||||||||||||||||||||||||||||||