Haskell簡介


Haskell是一種函式式程式設計語言,專門設計用於處理符號計算和列表處理應用程式。函式式程式設計基於數學函式。除了Haskell,其他遵循函式式程式設計正規化的其他流行語言套件括:Lisp,Python,Erlang,Racket,F#,Clojure等。

在常規程式設計中,指令視為採用特定語法或格式的一組宣告,但是在函式式程式設計下,所有計算都視為獨立數學函式的組合。

使用Haskell函式程式設計

Haskell是一種廣泛使用的純功能語言。在這裡,我們列出了幾點使Haskell語言與其他常規程式設計語言(例如Java,C,C++,PHP等)如此不同的地方。

  • 函式式語言 - 在傳統的程式設計語言中,指示編譯器執行一系列任務,這些任務僅告訴計算機「該做什麼」和「該怎麼做」。但是在Haskell中只告訴計算機「這是什麼?」。
  • 懶惰 - Haskell是一種懶惰的語言。懶惰的意思是,Haskell不會馬上地評估計算表示式。當評估計算引擎發現一個表示式需要評估時,它會建立一個thunk資料結構以收集該特定評估所需的所有資訊以及指向該thunk資料結構的指標。評估計算引擎僅在需要評估特定表示式時才開始工作。
  • 模組化 - Haskell應用程式是一系列功能。Haskell應用程式是許多小型Haskell應用程式的集合。
  • 靜態型別 - 在常規程式設計語言中需要定義一系列變數及其型別。而Haskell是嚴格型別化的語言。用嚴格型別化語言來表示,Haskell編譯器足夠智慧,可以弄清楚宣告的變數的型別,因此無需明確提及所使用的變數的型別。
  • 可維護性 - Haskell應用程式是模組化的,因此,維護它們非常容易且具有成本效益。

函式式程式的並行性更高,它們在執行時遵循並行性,以提供更準確和更好的效能。Haskell也不例外。它以有效處理多執行緒的方式開發。

Hello Word程式

這是一個簡單的例子來演示說明Haskell的動態性。下面的程式碼只需要一行即可在控制台上列印"Hello Word"

main = putStrLn "Hello World"

Haskell編譯器解釋並執行以上程式碼,便會立即產生以下輸出 -

Hello World

在本教學中,我們將提供大量範例,以演示Haskell的強大功能和簡單性。