表記法

本資料では対象と型、射と関数が混在します。基本的には以下の表記法に基づいて書いていますが、説明の都合上はこの限りではありません。なお、確認漏れの場合もあります。

圏は太字大文字のアルファベットで表記します。

例) A, B, Func(A, B)

対象

対象は小文字のアルファベットで表記します。

a, b, c

射は対象間の矢印として、キャメルケースで表記します。

f: a -> b, strLength: b -> c

射の合成は . で表記します。

g . f

関手

関手は圏の間の矢印として、大文字のアルファベットで表記します。

F: A -> B

関手による射の変換は、カッコをつけて表記します。

F(a) = F(b), F(f): F(a) -> F(b)

自然変換

自然変換は ~> で表記します。

α: F ~> G

Scala

Scala の型や関数、変数等はコードスニペットで表記します。

A, B, C, Int, String, List[A]

関数

def f: A => B
val g: B => C
def h(a: A): B

関数の合成は compose を使うことが多いです。

g compose f

数学

数式についてもスニペットで表記しますが、シンタックスハイライトはありません。

集合

{ a, b, c, d, e }
A = { 1, 2, 3, 4 }

関数

y = f(x)

results matching ""

    No results matching ""