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 函数。