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