Haskell 入門
線上 REPL
開始編寫 Haskell 的最簡單方法可能是訪問 Haskell 網站或嘗試 Haskell並在主頁上使用線上 REPL(read-eval-print-loop)。線上 REPL 支援大多數基本功能甚至一些 IO。還有一個基本教程可以通過輸入命令 help
來啟動。一個理想的工具,開始學習 Haskell 的基礎知識並嘗試一些東西。
GHC(I)
對於準備參與更多的程式設計師來說, GHCi 是 Glorious / Glasgow Haskell 編譯器 附帶的互動式環境。該 GHC 可以單獨安裝,但是,這只是一個編譯器。為了能夠安裝新庫,還必須安裝 Cabal 和 Stack 等工具。如果你執行的是類 Unix 作業系統,最簡單的安裝是使用以下命令安裝 Stack :
curl -sSL https://get.haskellstack.org/ | sh
這會將 GHC 與系統的其他部分隔離開來,因此很容易刪除。所有命令必須以 stack
開頭。另一種簡單的方法是安裝 Haskell 平臺 。該平臺有兩種形式:
- 在最小的分佈只包含 GHC (編譯)和卡瓦爾/堆疊 (安裝和構建軟體包)
- 在全分佈還包含用於專案開發,分析和覆蓋分析工具。還包括另外一組廣泛使用的包。
可以通過下載安裝程式並按照說明或使用你的發行版的軟體包管理器來安裝這些平臺 (請注意,此版本不保證是最新的):
-
Ubuntu,Debian,Mint:
sudo apt-get install haskell-platform
-
Fedora 的:
sudo dnf install haskell-platform
-
紅帽:
sudo yum install haskell-platform
-
Arch Linux:
sudo pacman -S ghc cabal-install haskell-haddock-api \ haskell-haddock-library happy alex
-
Gentoo 的:
sudo layman -a haskell sudo emerge haskell-platform
-
OSX 與 Homebrew:
brew cask install haskell-platform
-
OSX 與 MacPorts:
sudo port install haskell-platform
安裝後,應該可以通過在終端的任何位置呼叫 ghci
命令來啟動 GHCi 。如果安裝順利,控制檯應該看起來像
me@notebook:~$ ghci
GHCi, version 6.12.1: http://www.haskell.org/ghc/ :? for help
Prelude>
可能還有關於在 Prelude>
之前載入了哪些庫的更多資訊。現在,控制檯已成為 Haskell REPL,你可以像線上 REPL 一樣執行 Haskell 程式碼。為了退出這個互動環境,可以輸入:q
或:quit
。有關 GHCi 中可用命令的更多資訊,請在開始螢幕中鍵入:?
。
因為在一行上一次又一次地寫相同的東西並不總是這樣,所以在檔案中編寫 Haskell 程式碼可能是個好主意。這些檔案通常具有 .hs
作為副檔名,可以使用:l
或:load
載入到 REPL 中。
如前所述, GHCi 是 GHC 的一部分, GHC 實際上是一個編譯器。此編譯器可用於將帶有 Haskell 程式碼的 .hs
檔案轉換為正在執行的程式。因為 .hs
檔案可以包含許多函式,所以必須在檔案中定義 main
函式。這將是該計劃的起點。可以使用該命令編譯檔案 test.hs
ghc test.hs
如果沒有錯誤並且正確定義了 main
函式,這將建立目標檔案和可執行檔案。
更高階的工具
-
它之前已經被提到作為包管理器,但是堆疊可以以完全不同的方式用於 Haskell 開發的有用工具。一旦安裝,它就能夠
- 安裝(多個版本) GHC
- 專案建立和 Scaffolding
- 依賴管理
- 建設和測試專案
- 標杆
-
IHaskell 是 IPython 的 haskell 核心 ,允許將(可執行的)程式碼與 markdown 和數學符號結合起來。