zoukankan      html  css  js  c++  java
  • 范畴论完全解读:函子是范畴(高阶类型)间的映射

    在范畴论里,一个范畴(category)指的是这样一个好东西,它由三部分组成:

    1. 一系列的对象(object).
    2. 一系列的态射(morphism).
    3. 一个组合(composition)操作符,用点(.)表示,用于将态射进行组合。

    函子

    前面对范畴的介绍反映了范畴内部各个对象之间的联系与相互作用,在范畴论里另外研究的重点是范畴与范畴之间的关系,就正如对象与对象之间有态射一样,范畴与范畴之间也存在某些映射,从而可以将一个范畴映射为另一个范畴,这种映射在范畴论中叫作函子(functor),具体来说,对于给定的两个范畴 A 和 B, 函子的作用有两个:

    1. 将范畴 A 中的对象映射到范畴 B 中的对象。

    2. 将范畴 A 中的态射映射到范畴 B 中的态射。

    trait Functor[F[_]]

    {  def map[A, B](a: F[A])(f: A => B): F[B] }

    两个范畴:A、B、C、fab....    F[A] 、F[B] ....

    函子:

    A-F-F[A]

    A-f->B    F[A]--map(f)-->F[B]

    高阶类型范畴由基本类型范畴构建而成。

    所以有高低阶类型之间的转化和高阶类型间的转化。

    参考:通信的分层理论。

  • 相关阅读:
    implicit request ?
    Scala curly braces & parenthesis
    play framework Reads[A] and, andThen, reduce
    play framework 中耍 JSON 基礎
    asynchronous
    第一次接觸sbt會遇到的
    SBT, activator, play之間的糾葛
    leetcode67
    leetcode26
    leetcode341
  • 原文地址:https://www.cnblogs.com/feng9exe/p/10491269.html
Copyright © 2011-2022 走看看