Haskell/入門
Haskell 是一種程式語言,即人類可以用它來表達計算機的行為方式。它就像寫烹飪食譜一樣:你寫下食譜,計算機就會執行它。
要使用 Haskell 程式,你需要一個名為 Haskell 編譯器 的特殊程式。編譯器將用 Haskell 編寫的程式碼轉換為機器碼,這是一種更基本的語言,計算機可以理解。用烹飪的類比來說,你寫一個食譜(你的 Haskell 程式),一個廚師(一個編譯器程式)會做把實際的食材做成可食用的菜餚(可執行檔案)的工作。當然,你不能從最終的菜餚中輕易獲得食譜(你也不能從編譯後的可執行檔案中獲得 Haskell 程式碼)。
要開始使用,請訪問 haskell.org/downloads 獲取最新說明。目前推薦的方式是使用 GHCup。使用它來安裝最新推薦版本的 GHC、cabal(而不是stack)以及 Haskell 語言伺服器。你應該使用cabal 來安裝任何你需要的 Haskell 庫。我們將在 Haskell/打包 中深入介紹如何使用cabal。
注意
Linux 使用者
強烈建議不要使用系統包倉庫和包管理器安裝任何與 Haskell 相關的程式(除非你使用的是 Fedora 或 NixOS)。特別是 Arch Linux 和 Debian 等發行版對 Haskell 包的管理非常糟糕,會導致工具使用體驗很差。請按照上述說明使用 GHCup 和 Cabal。
如果你只是想測試一些 Haskell 基礎知識,而不想下載和安裝,那麼你可以使用一個 遊樂場,它預設包含一些包。這裡大多數華夏公益教科書上的說明也適用於遊樂場,但它不接受使用者輸入。
安裝完成後,我們將使用名為GHCi('i' 代表 '互動式')的程式進行第一個 Haskell 編碼。根據你的作業系統,執行以下步驟
- 在 Windows 上:單擊開始,然後單擊執行,然後鍵入'cmd' 並按 Enter 鍵,然後鍵入
ghci並再次按 Enter 鍵。 - 在 MacOS 上:開啟“應用程式/實用工具”資料夾中的“終端”應用程式,在出現的視窗中鍵入字母
ghci,然後按 Enter 鍵。 - 在 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 函式。