Functor的fmap讲述了什么类型? [英] What does Functor's fmap tell about types?

查看:118
本文介绍了Functor的fmap讲述了什么类型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

fa fb 告诉我它的类型?

  class Functor f其中
fmap ::(a - > b) - > f a - > f b

我想到了一个函数的标准实例背后的想法。然而,我很难理解 fa f 实际上代表了什么。



据我所知, fa fb 只是类型,它们必须携带信息构造函数是什么类型用于创建它们并输入使用的参数。
$ b $ f 类型的类型构造函数 * - > * ( - >)r 类型构造函数就像 Maybe 是?

解决方案

我的(可能是轻度折磨)阅读 Maybe ( - >)r 都是类型,类型 * - > * 。或者,报告也会将它们标记为类型表达式 - 但我无法辨别报告如何使用这两个术语的明显差异,除了表面语法细节外。 ( - >)可能是类型构造函数;类型表达式由类型构造函数和类型变量组装。



例如,2010年报告的4.1.1节(种类)表示(我的粗体) p>


为了确保它们有效,类型表达式被分为不同的类型,它们采用以下两种可能的形式之一:
$ b


  • 符号*表示所有无类型构造函数的类型。

  • 如果κ1和κ2是类型,那么κ1→κ2是类型的类型,它们采用类型为κ1的类型并返回类型为κ2的类型


第4.3.2节实例声明(粗体):


使类型 T 成为类的实例的实例声明> C 被称为 CT实例声明,并受以下静态限制:

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆