跳轉到內容

Haskell/入門

來自華夏公益教科書,開放的書籍,開放的世界

安裝 Haskell

[編輯 | 編輯原始碼]

Haskell 是一種程式語言,也就是說,人類可以用它來表達計算機應該如何運作。它就像寫一個烹飪食譜:你寫下食譜,計算機就執行它。

要使用 Haskell 程式,你需要一個名為 Haskell 編譯器的特殊程式。編譯器將用 Haskell 編寫的程式碼轉換為機器碼,這是計算機理解的一種更基本的語言。用烹飪的類比來說,你寫一個食譜(你的 Haskell 程式),一個廚師(一個編譯器程式)負責將實際的食材組合成一道可食用的菜餚(一個可執行檔案)。當然,你無法輕易從最終菜餚中獲得食譜(你也無法從編譯後的可執行檔案中獲得 Haskell 程式碼)。

要開始使用,請訪問 haskell.org/downloads 獲取最新說明。目前推薦的方式是使用 GHCup。使用它來安裝最新的推薦版本的 GHC、cabal(而不是stack)和 Haskell 語言伺服器。你應該使用cabal來安裝你需要的任何 Haskell 庫。我們將在 Haskell/Packaging 中詳細介紹如何使用cabal

注意

Linux 使用者

強烈建議不要使用系統包倉庫和包管理器(除非你使用 Fedora 或 NixOS)來安裝任何與 Haskell 相關的軟體。具體來說,像 Arch Linux 和 Debian 這樣的發行版對 Haskell 包的管理非常糟糕,會導致糟糕的使用體驗。請如上所述使用 GHCup 和 Cabal。


要直接測試一些 Haskell 基礎知識而無需下載和安裝,有一個 遊樂場,它預設包含幾個包。這裡華夏公益教科書中的大多數說明在遊樂場中也能正常使用,不過它不接受使用者輸入。

第一個程式碼

[編輯 | 編輯原始碼]

安裝完成後,我們將使用名為 GHCi('i' 代表 'interactive')的程式進行第一次 Haskell 編碼。根據你的作業系統,執行以下步驟。

  • 在 Windows 上:點選“開始”,然後點選“執行”,然後輸入“cmd”並按回車鍵,然後輸入ghci並再次按回車鍵。
  • 在 MacOS 上:開啟“應用程式/實用工具”資料夾中的“終端”應用程式,在出現的視窗中輸入字母ghci,然後按回車鍵。
  • 在 Linux 上:開啟終端並執行ghci

你應該得到類似於以下內容的輸出。

GHCi, version 8.10.7: http://www.haskell.org/ghc/  :? for help
Prelude> 

第一部分是 GHCi 的版本,它告訴你在 GHCi 中如何獲取幫助。Prelude> 部分稱為提示符。這是你輸入命令的地方,GHCi 將用結果進行響應。提示符還告訴你這時載入的模組是Prelude,它讓你可以使用大多數內建函式。

現在讓我們嘗試一些基本的算術運算。

Prelude> 2 + 2
4
Prelude> 5 + 4 * 3
17
Prelude> 2 ^ 5
32

這些運算子與大多數其他程式語言一致:+ 是加法,* 是乘法,^ 是冪運算(乘方,或 )。如第二個示例所示,Haskell 遵循標準的數學運算順序(例如,乘法優先於加法)。

現在你知道如何使用 Haskell 作為計算器了。實際上,Haskell 始終是一個計算器——一個非常強大的計算器,它不僅可以處理數字,還可以處理其他物件,如字元、列表、函式、樹,甚至其他程式(如果你還不熟悉這些術語,不用擔心)。

要完成操作後退出 GHCi,請使用:quit(或只使用:q)。

Prelude> :quit
Leaving GHCi.


GHCi 是一個功能強大的開發環境。隨著我們的學習,我們將學習如何將包含原始碼的檔案載入到 GHCi 中並評估它們的不同部分。

假設你現在對所有內容都清楚了(如果不是,請使用討論頁並幫助我們改進這個華夏公益教科書!),那麼你就可以學習下一章,我們將介紹 Haskell 的一些基本概念並建立我們的第一個 Haskell 函式。

華夏公益教科書