哈斯克尔 是一种高级的、纯函数式的、通用的编程语言。 本指南介绍了如何安装 Haskell 以及如何在类 Unix 操作系统中开始使用 Haskell 编程语言。 Haskell 可以通过三种方式安装; 手动安装、使用堆栈和使用 Haskell 平台。 到目前为止,使用堆栈安装 Haskell 是官方推荐的最简单的方法。 在本指南中,我们将了解如何安装 Haskell 以及如何在类 Unix 系统中开始使用 Haskell 编程语言。
安装 Haskell 工具栈
Haskell Tool Stack 是一个用于构建 Haskell 项目的跨平台程序。 通过 Haskell Stack,我们得到了一个全面的 Haskell 开发环境。 使用 Haskell 工具栈,我们可以轻松安装以下组件:
- 堆:用于多包 Haskell 项目的项目构建器,
- GHC:Haskell 程序的编译器和解释器,
- 黑线鳕:Haskell 包的文档生成器,
- 并且可以按需安装数千个软件包。
首先,让我们使用命令安装 Haskell 堆栈:
$ wget -qO- https://get.haskellstack.org/ | sh
或者,
$ curl -sSL https://get.haskellstack.org/ | sh
上述命令将下载最新的 Stack 版本并立即安装。
这些命令对于几乎所有 Linux 发行版和 FreeBSD 都是相同的。 但是,Arch 社区正在维护官方版本 [community] 存储库。 因此,如果您正在运行 Arch Linux 和/或任何基于 Arch 的系统,只需运行以下命令即可安装最新的稳定 Stack 版本。
$ sudo pacman -S stack
安装后,运行以下命令将 PATH 环境变量设置为包含 $HOME/.local/bin:
$ echo 'export PATH=$HOME/.local/bin:$PATH' >> ~/.bashrc
使用命令更新 ~/.bashrc 文件中所做的更改:
$ source ~/.bashrc
让我们看看 Stack 的安装版本:
$ stack --version Version 1.6.1, Git revision f25811329bbc40b0c21053a8160c56f923e1201b (5435 commits) x86_64 hpack-0.20.0
要随时更新 Stack,只需运行:
$ stack upgrade
要更新包索引,请运行:
$ stack update
我们已经安装了堆栈。 让我们继续创建一个新项目。
建立一个新项目
为了让我们的新项目运行起来,我们需要一些文件,例如一些 haskell 源代码、一个 package.yaml、一个 stack.yaml 和一个 .cabal 文件以及一些其他目录。 我们可以手动创建这些文件。 然而,Haskell 有许多预定义的模板。 因此,我们可以使用一个而不是手动创建它们。
要列出所有可用模板,请运行:
$ stack templates
现在,我将创建一个名为的新项目 “骨科” 并使用 “新模板”. 为此,请运行:
$ stack new ostechnix new-template
示例输出为:
Downloading template "new-template" to create project "ostechnix" in ostechnix/ ... The following parameters were needed by the template but not provided: author-email, author-name, category, copyright, github-username You can provide them in /home/sk/.stack/config.yaml, like this: templates: params: author-email: value author-name: value category: value copyright: value github-username: value Or you can pass each one as parameters like this: stack new ostechnix new-template -p "author-email:value" -p "author-name:value" -p "category:value" -p "copyright:value" -p "github-username:value" Looking for .cabal or package.yaml files to use to init the project. Using cabal packages: - ostechnix/ Selecting the best among 12 snapshots... Downloaded lts-10.0 build plan. Populated index cache. * Matches lts-10.0 Selected resolver: lts-10.0 Initialising configuration using resolver: lts-10.0 Total number of user packages considered: 1 Writing configuration to file: ostechnix/stack.yaml All done.
安装 GHC
转到新创建的项目目录并运行“堆栈设置”下载并安装所需的编译器。
$ cd ostechnix/
$ stack setup
这个命令会为你的新 Haskell 项目安装正确的 GHC 编译器。 GHC 将安装在一个孤立的位置。 这意味着这不会干扰任何系统级安装。
请注意,GHC 将安装在您的全局堆栈根目录中。 因此,您不能只使用命令从 shell 调用它 ghc. 相反,请考虑使用: 堆栈ghc, 堆栈 ghci, 堆栈 runghc, 或者 堆栈执行. 有关路径的更多信息,请运行:
$ stack path
和..
$ stack exec env
我们现在已经创建了一个新项目并为我们的项目安装了正确的编译器。 是时候建造它了。
建筑工程
要构建项目,请运行:
$ stack build
确保在项目目录中运行此命令。 构建完成后,使用命令运行可执行文件:
$ stack exec ostechnix-exe
示例输出为:
someFunc
请注意,可执行文件“ostechnix-exe”将隐藏在 ./.stack-work 项目主目录中的目录。
玩 Haskell
打开 ghci 编译器:
$ stack exec ghci
或者,
$ stack exec -- ghci
您将进入 ghci 提示符。
GHCi, version 8.2.2: https://www.haskell.org/ghc/ :? for help Prelude>
和其他人一样,让我们从“hello world!”开始。
Prelude> "hello world!" "hello world!"
让我们尝试一些算术运算。
Prelude> 14+90 104 Prelude> 14-90 -76 Prelude> 34/2 17.0
一些复杂的操作:
Prelude> (67*98) - 50 - (24-2) 6494
让我们找出哪个数字更大或更小:
Prelude> max 34 17 34 Prelude> min 45 98 45
寻找继任者:
Prelude> succ 89 90
查找给定的输入是否相等:
Prelude> 10 == 10 True Prelude> 10 == 20 False Prelude> "ostechnix" == "ostechnix" True Prelude> "ostechnix" == "windows" False
使用如下布尔值也很容易:
Prelude> True && False False Prelude> True && True True Prelude> False || True True Prelude> False && False False
默认情况下,提示名称为 前奏>. 例如,您可以将其更改为其他内容 ghci>,通过键入:
:set prompt "ghci> "
如需帮助,请键入:
:?
要退出,请键入:
:quit
或者,
:q
请注意,我们不必创建项目的目录。 我们可以通过从 shell 运行“stack ghci”来开始使用 Stack。 它将下载正确的 GHC 版本并让您进入 前奏> 迅速的。
编译和运行 Haskell 代码
运行 Haskell 代码很容易。 检查以下 example.
创建一个名为 “ostechnix.hs” 有以下内容。
#!/usr/bin/env stack -- stack --install-ghc runghc main :: IO () main = putStrLn "Welcome To OSTechNix"
现在您可以使用命令运行此程序:
$ stack ostechnix.hs Welcome To OSTechNix
这是另一个 example.
创建一个名为 myhaskell.hs 使用以下代码:
module Main where main :: IO () main = putStrLn "Welcome To OSTechNix!"
然后使用命令编译它:
stack exec -- ghc myhaskell.hs -o test.hs
示例输出为:
[1 of 1] Compiling Main ( myhaskell.hs, myhaskell.o ) Linking ostechnix.hs ...
最后运行如下图:
$ ./test.hs Welcome To OSTechNix!
我们只介绍了基础知识。 还有很多东西要学! 如果您有兴趣了解有关 Haskell 编程的更多信息,请参阅以下资源以从基础到高级学习 Haskell。
感谢您的光临!
帮助我们帮助您:
- 订阅我们的电子邮件通讯: 立即注册
- 支持 OSTechNix: 通过贝宝捐款
- 下载免费的电子书和视频: TradePub 上的 OSTechNix
- 联系我们: 红迪网 | Facebook | Twitter | 领英 | RSS订阅
祝你有美好的一天!!