chapter 1 Introduction

2025-09-09 00:00

这篇文章是《Learn You a Haskell for Great Good!》教程的引言,主要内容可以总结为以下几点:

  1. 教程目标:本教程主要面向有命令式编程(如 C++, Java, Python)经验,但初次接触函数式编程的开发者。作者建议通过阅读多种资料来学习Haskell,因为它起初可能感觉很奇怪,但一旦“开窍”就会变得容易。

  2. Haskell的核心特性

    • 纯函数式 (Purely Functional):你不是告诉计算机“如何做”,而是定义“是什么”。变量一旦赋值就不可改变,函数没有副作用,这保证了同样的输入总能得到同样的输出。
    • 惰性求值 (Lazy):代码只在真正需要结果时才被执行,这使得程序更高效,并能轻松处理无限大的数据结构。
    • 静态类型 (Statically Typed):编译器在编译阶段就能捕捉大量类型错误。同时,其强大的类型推导系统意味着你无需为每个变量都显式声明类型。
    • 优雅简洁 (Elegant and Concise):代码通常比等效的命令式代码更短,更易于维护。
  3. 如何开始学习

    • 你需要一个文本编辑器和Haskell编译器(GHC)。
    • 推荐使用 GHCup 这个工具来安装所需环境。
    • 学习时,可以使用 ghci 这个交互式环境来加载 .hs 文件并实时测试函数,这样边学边练效率更高。