函式程式語言

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

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

基本介紹

  • 中文名:函式程式語言
  • 外文名:functional programming
典型的函式式程式語言,純函式式程式語言,非純函式式程式語言,其他函式式程式語言,歷史,速度和空間上的顧慮,

典型的函式式程式語言

純函式式程式語言

弱類型
  • Lazy K

非純函式式程式語言

強動態類型
弱類型
  • Unlambda

其他函式式程式語言

歷史

函式式編程中最古老的例子莫過於1958年被創造出來的lisp了。函式式編程更加現代一些的例子包括schemeHaskellCleanErlangclojureMiranda等。
雖然λ演算並非設計來於計算機上運行,但它可以被視作第一個函式式程式語言。1980年代末期,集函式式編程研究成果於大成的Haskell發布。
基於JavaScript的某些開發理念強調函式式的實現方法。

速度和空間上的顧慮

函式式編程常被認為嚴重耗費CPU和存儲器資源。主因有二:
  • 在實現早期的函式式程式語言時並沒有考慮過效率問題。
  • 面向函式式編程特性(如保證函式參數不變性等)的獨特數據結構和算法。

相關詞條

熱門詞條

聯絡我們