集合与映射笔记(数学分析)
发表于|更新于
|浏览量:
文章作者: Plenilune Liao
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Sept!
相关推荐
2025-09-24
关于 Haskell 的类型类 (1)(计算概论 A 实验班)
函数的类型从何而来?
考虑以下代码:
12swap :: (a,b) -> (b,a)swap (x, y) = (y, x)
这里并没有对 x 和 y
的类型作任何要求,换言之,显然地,swap(1, 2) = (2, 1)。但是更进一步,swap('a', False) = (False, 'a'),并没有任何问题,所以只需要写
a 和 b 即可。
但是这一段:
12345palindrome :: Eq a => [a] -> Boolpalindrome xs = reverse xs == xsdouble :: Num a => a -> adouble x = x * 2
首先,palindrome 的运行依赖于 ==
的实现。换言之,如果 [a] 中的 a 不支持
== 操作(也即不在 Eq
定义下),那么以下的语句是无法正常运行的,所以我们需要额外地限定
Eq a。
进一步,double 的运行则依赖
*,所以我们要保证乘法这一行为合法。考虑限制
Num a,即说明 * 是良定的。
两个典型的类型类
...
2025-09-26
线性方程组笔记(高等代数)
2025-09-25
实数笔记(数学分析)
公告
This is my Blog