本頁使用了標題或全文手工轉換

函數程式語言

維基百科,自由的百科全書
(已重新導向自 函数式编程语言)
前往: 導覽搜尋

函數式編程英語Functional programming)或者函式程式設計,又稱泛函編程,是一種編程典範,它將電腦運算視為數學上的函式計算,並且避免使用程式狀態以及易變物件。函數程式語言最重要的基礎是λ演算(lambda calculus)。而且λ演算的函式可以接受函式當作輸入(引數)和輸出(傳出值)。

比起指令式編程,函數式編程更加強調程式執行的結果而非執行的過程,倡導利用若干簡單的執行單元讓計算結果不斷漸進,逐層推導複雜的運算,而不是設計一個複雜的執行過程。

典型的函數式編程語言[編輯]

純函數式編程語言[編輯]

非純函數式編程語言[編輯]

其他函數式編程語言[編輯]

歷史[編輯]

函數式編程中最古老的例子莫過於1958年被創造出來的LISP了。用LISP編程可以達到精簡人力的目的。函數式編程更加現代一些的例子包括schemeHaskellCleanErlangMiranda等。雖然λ演算並非設計來於計算機上執行,但它可以被視作第一個函數式編程語言。1980年代末期,集函數式編程研究成果於大成的Haskell發佈。

速度和空間上的顧慮[編輯]

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

  • 在實現早期的函數式編程語言時並沒有考慮過效率問題。
  • 有些非函數式編程語言為求提昇速度,不提供自動邊界檢查或自動垃圾回收等功能。

惰性求值亦為Haskell一類的語言增加了額外的管理負擔。

外部鏈結[編輯]