《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
相关文章
|
3月前
|
缓存 API 数据库
Python黑魔法解密:深入探究元编程
【2月更文挑战第9天】在Python世界中,元编程是一种强大而神秘的技术。通过元编程,我们可以在运行时动态地创建、修改和操作代码,为程序增加灵活性和扩展性。本文将带您深入探究Python中的元编程,揭示其中的黑魔法,并展示其在实际应用中的威力。
19 3
|
4月前
|
Rust 安全 Linux
如何使用Rust进行系统编程?
在 Rust 中,要调用系统调用并与底层 C 函数进行交互,通常会使用 `libc` crate。`libc` 提供了 Rust 到 C 的 FFI(Foreign Function Interface)绑定,允许 Rust 代码调用和使用底层的 C 函数和系统调用。
|
3月前
|
Rust 安全 开发者
Rust中的元编程概念与应用
本文将深入探讨Rust编程语言中的元编程概念,包括宏、特性、元组和元函数等,并展示它们在Rust中的实际应用。元编程允许开发者在编译时操纵代码,实现代码生成、条件编译、类型检查等高级功能。通过本文的讲解,读者将能够更好地理解元编程在Rust中的作用,并学会如何在项目中应用元编程技术。
|
3月前
|
Rust 安全 Java
Rust 语言的类型系统
假如让你设计编程语言的类型,你会怎么做? 要定义哪些类型? 类型之间如何交互? 是否需要类型推断? 类型系统是编程语言中用于定义和控制类型的一组规则。
Rust 语言的类型系统
|
4月前
|
存储 Rust 安全
Rust 笔记:Rust 语言中的 结构体 与面向对象编程的实现
Rust 笔记:Rust 语言中的 结构体 与面向对象编程的实现
78 0
|
4月前
|
存储 Rust 索引
Rust 笔记:Rust 语言中的运算符
Rust 笔记:Rust 语言中的运算符
127 0
|
4月前
|
Rust Java 编译器
【一起学Rust | 基础篇】rust函数与流程控制详解
【一起学Rust | 基础篇】rust函数与流程控制详解
51 0
【一起学Rust | 基础篇】rust函数与流程控制详解
|
6月前
|
Rust 安全 JavaScript
Rust 基础语法
变量,基本类型,函数,注释和控制流,这些几乎是每种编程语言都具有的编程概念。
43 0
|
9月前
|
JSON Rust C语言
【Rust 基础篇】Rust宏:代码生成的黑魔法
Rust是一门以安全性和性能著称的系统级编程语言,它提供了强大的宏系统,使得开发者可以在编译期间生成代码,实现元编程(Metaprogramming)。宏是Rust中的一种特殊函数,它可以接受代码片段作为输入,并根据需要生成代码片段作为输出。本篇博客将深入探讨Rust中的宏,包括宏的定义、宏的分类、宏的使用方法,以及一些实际场景中的应用案例,以便读者全面了解Rust宏的神奇之处。
116 0
|
11月前
|
存储 Rust 索引
Rust 笔记Rust 语言中的运算符
本文介绍 Rust 语言中的运算符的类别与用法。
165 0
Rust 笔记Rust 语言中的运算符