函數程式語言


函數程式語言 (简体)

Free Web Hosting with Website Builder

函數式編程是種編程典範,它將電腦運算視為函數的計算。函數程式語言最重要的基礎是 λ 演算(lambda calculus)。而且λ演算的函數可以接受函數當作輸入(引數)和輸出(傳出值)。

指令式編程相比,函數式編程強調函數的計算比指令的執行重要。

和過程化編程相比,函數式編程裏,函數的計算可隨時調用。

目錄

歷史

雖然 λ 演算並非設計來於計算機上執行,但可視為第一個函數式編程語言。1980年代末期,Haskell發佈,企圖集合很多函數式編程研究裏的想法。

速度和空間上的顧慮

函數式編程常被認為嚴重耗費在CPU和記憶體資源。主因有二:

  • 早期的函數式編程語言實現時並無考慮過效率問題。
  • 非函數式編程語言為求提昇速度,會在某些部分放棄邊界檢查或垃圾回收等功能。

緩式評估亦為語言如Haskell增加了額外的管理工作。

函數式編程語言

函數式的程式沒有變數和副作用。

函數式編程經常使用遞歸

純函數式編程語言

因為函數式程式設計語言沒有變數,函數沒有副作用,編寫出的程式可以利用memoization、common subexpression elimination和平行計算在運行時和編譯時得到大量優化。

例子

函數式編程中最古老的例子莫過於1958年被創造出來的LISP了,透過 LISP,可以用精簡的人力。較現代的例子包括HaskellCleanErlang和Miranda等。

參見

  • 函數式編程主題列表

外部鏈結







Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History