Browsed by
Category: 函数式编程

『The Little Schemer』笔记

『The Little Schemer』笔记

这是一本用Scheme语言来介绍递归和函数式编程的书。与《计算机程序的构造和解释》当中使用的Racket语言几乎通用(Racket是Scheme的一种标准的分支,本书中涉及不到二者的区别,本文中两种语言不作区分)。据说用函数式语言(Scheme, Haskell等等)非常适合编写编译器,不过这本『T…

Read More Read More

Binary Search Tree in Haskell

Binary Search Tree in Haskell

二叉搜索树是一种递归数据结构,其基本概念不再赘述,在Haskell中用代数数据类型,先声明树类型:一个二叉搜索树Tree要么是空树,要么是包含一个值且有左右子树 这里Tree就是BinSearchTree,在建树的时候我们通过取一个值和一棵树并将这个值加入到这棵树当中来做。过程中会将此值与树的结点进…

Read More Read More

Haskell混合数字类型的运算

Haskell混合数字类型的运算

Num是数字类型,可以进行数字所支持的运算。在Num类的类成员中还有Int, Integer, Float, Double这些类,这些类成员同样可以执行运算,比如对于乘法,函数签名为 说明这个乘法运算在Num约束下的类型a进行,对于两个a类型的运算得到一个a类型的结果。例如 其它四则运算的函数签名与…

Read More Read More

Racket 基本的数学运算

Racket 基本的数学运算

纯函数式编程语言不能用循环,一切这种结构都要改作递归实现 1.平方根(牛顿切线法) 2. 判断质数 3. 求平方根(二分法) 4.分数的四则运算 5.对list的map和变长参数的imap