首页 > 解决方案 > 是否所有函数类型都形成了“Hask”的子类别?

问题描述

在 Haskell 中,所有类型形成一个名为Hask.

函数类型是类型。所有函数类型都构成 的子类别Hask吗?

所有非函数类型都形成 的子类别Hask吗?

我认为两个答案都是肯定的。但我不知道我是否正确。

标签: haskelltypesprogramming-languagescomputer-sciencecategory-theory

解决方案


C任何类别具有O其对象的类。

如果O'是任何子类,O我们可以定义一个C'O'对象为对象的类别,并保留所有C仍然“有意义”的态射,即在 中具有源对象和目标对象O'。组成和身份相同(限于O')。

C'是 的子类C。(准确地说,是一个完整的子类别。)

您应该通过扩展所有定义自行检查此声明。

您提到的示例只是为 选择了一些特殊情况O',因此它们是子类别。


推荐阅读