《Haskell函数式编程入门》—— 第1章,第1.2节Haskell编译器的安装以及编写环境

简介:

本节书摘来自异步社区《Haskell函数式编程入门》一书中的第1章,第1.2节Haskell编译器的安装以及编写环境,作者 张淞,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.2 Haskell编译器的安装以及编写环境
目前Haskell的主要编译器是GHC,它可以将写的好程序编译后直接运行。但在教学中常常使用Haskell的两个解释器,它们是Hugs与GHCi(Glasgow Haskell Compiler interpreter),这里使用的是GHCi。GHCi可以解析、调式Haskell程序而不必每一次都重新编译来测试代码,这在调式与测试代码时是一个非常大的优势。GHCi是GHC的一部分,GHC可以在http://www.haskell.org/ghc/下载到。这里推荐大家下载Haskell Platform(HP),它包含了所有开发所需要的工具,可以在http://www.haskell.org/platform/ 下载到。

Hugs是一个遵循Haskell 98语言标准的解释器。由于Hugs不能将程序编译成可执行文件,也没有丰富的库函数,所以它很轻巧,适用于入门教学。Hugs的下载地址是http://cvs.haskell.org/Hugs/pages/downloading.htm

WinGHCi程序窗口如图1-1所示。Notepad++文本编辑器窗口如图1-2所示。
读者可以使用自己喜欢的任何编辑器,在Windows下,笔者喜欢使用Notepad++,见图1-2。这是一个非常轻巧的编辑器,可以在http://notepad-plus-plus.org/download下载到。Notepad++可以高亮显示Haskell中的关键字,看起来更加舒服,当选取了Haskell模式时还会默认保存为.hs文件。Windows 下的记事本以及Linux或Mac OS下的sublime、emacs、vim、gedit都是非常好用的文本编辑器,并且很多也提供Haskell插件与设置。但是需要注意的是,由于Haskell代码的缩进与对齐有时非常重要,有的文本编辑器会让人将Tab与空格等字符搞混而引发一些错误。当然,正如其他语言一样,Haskell也有一些非常好的集成开发环境,如用Haskell编写的Haskell集成开发环境Leksah(Haskel的逆写),可以在http://leksah.org/下载。笔者更喜欢用EclipseFP,一个基于Eclipse的开源Haskell插件,具体安装可以详见http://eclipsefp.github.com/


3face390ac8aa69051b12af103537f285321363e
相关文章
|
Ubuntu NoSQL 关系型数据库
Ubuntu系统下安装常用软件
Ubuntu系统下安装常用软件
330 0
Ubuntu系统下安装常用软件
|
数据库 数据库管理
【软件设计师-从小白到大牛】下午题基础篇:第二章 数据库设计
ER模型:是实体联系模型,跟DBMS无关,也就是跟具体的数据库管理系统没有关系。 概念结构设计:完成ER模型的建模工作。
303 1
|
7月前
|
开发工具 开发者
【HarmonyOS 5】如何开启DevEco Studio热更新调试应用模式
【HarmonyOS 5】如何开启DevEco Studio热更新调试应用模式
353 0
|
5月前
|
安全 算法 API
银行卡三要素API实践指南:实现交易安全闭环
在数字化金融时代,身份真实性成为安全防线关键。银行卡三要素核验通过验证卡号、姓名与身份证一致性,提升身份识别准确率,广泛应用于金融、支付等领域。本文详解其技术原理、架构设计与工程实践,助力构建安全合规的身份认证体系。
522 1
|
11月前
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【注意力机制篇】| ICLR2023 高效计算与全局局部信息融合的 Sea_Attention 模块(含C2PSA二次创新)
YOLOv11改进策略【注意力机制篇】| ICLR2023 高效计算与全局局部信息融合的 Sea_Attention 模块(含C2PSA二次创新)
723 2
YOLOv11改进策略【注意力机制篇】| ICLR2023 高效计算与全局局部信息融合的 Sea_Attention 模块(含C2PSA二次创新)
|
Ubuntu 应用服务中间件 nginx
apt-mirror搭建Ubuntu镜像站
因为公司要经常用到Ubuntu,又没有镜像站,使用外面的镜像站虽说很方便,但是速度有点慢,只能自己折腾一个镜像站了。 apt-mirror在网上教程很多,但是很乱,一些地方就直接省略。 似乎tunasync比较方便,在部署完apt-mirror之后才看到有这个,公司不给服务器我折腾了,没办法
2415 0
apt-mirror搭建Ubuntu镜像站
|
前端开发
vscode 怎么在两个窗口打开同一个项目
vscode 怎么在两个窗口打开同一个项目
|
安全 网络协议 Shell
SSH连接密码问题:原因、表现与解决方案
SSH连接密码问题:原因、表现与解决方案
4208 3
|
人工智能 Linux Shell
Linux——vim简介、配置方案(附带超美观的配置方案)、常用模式的基本操作
Linux——vim简介、配置方案(附带超美观的配置方案)、常用模式的基本操作
1333 2
|
存储 SQL 关系型数据库
探索非关系型数据库:走进灵活的数据存储世界
在数字化时代,数据以前所未有的速度和规模增长。为了应对不同类型和结构的数据,非关系型数据库应运而生,为我们提供了一种灵活、可扩展的数据存储和管理方式。本文将引导您深入了解非关系型数据库的定义、特点、应用以及在现代技术中的重要性。
739 4