Programming in types
Haskell 中的类型允许你将程序视为一系列的转换。你可以将转换视为一种更抽象的函数思考层面。在 Haskell 中解决问题时,你可以首先将它们视为一系列抽象的转换。
个人博客
关于软件、系统设计与持续学习。文章由 Notion 写作并在这里发布。
目前已发布 302 篇文章。
筛选结果
共 38 篇
Haskell 中的类型允许你将程序视为一系列的转换。你可以将转换视为一种更抽象的函数思考层面。在 Haskell 中解决问题时,你可以首先将它们视为一系列抽象的转换。
每个人都喜欢能与朋友秘密通信的想法。在这个总结项目中,你将运用你对类型和类型类的知识,构建几个示例密码。密码(cipher)在密码学中是一种对信息进行编码的方法,使他人无法阅读。密码是密码学的基础,但它们本身也非常有趣、值得玩味。你将首先接触一个容易实现也容易破解的密码,然后进一步了解字符加密的基础知识,最后你将构建一个不可破解的密码!
你将更深入地了解如何实现已有的类型类。这将使你能够为你自定义的新类型实现类型类,从而利用大量现有的函数功能。
你将学习 Haskell 类型系统中的一个重要抽象——类型类(Type classes)。类型类允许你根据共享的行为对类型进行分组。乍一看,类型类类似于大多数面向对象编程语言中的接口。类型类声明了一个类型必须支持哪些函数,就像接口规定了一个类必须支持哪些方法一样。但类型类在 Haskell 中扮演的角色,比在 Java 或 C# 等语言中的接口更为重要。主要的区别是,当你深入学习 Haskell 时,你会发现类型类通常要求你以越来越强大的抽象形式进行思考。在许多方面,类型类是 Haskell 编程的核心。
在Haskell中为数据创建类型,其重要性不亚于面向对象语言中创建类
本节将介绍 Haskell 最强大的特性之一——其健全的类型系统
函数式面向对象编程
从技术上讲,高阶函数是将另一个函数作为参数的任何函数。
主题索引