Road to Monad

| Comments

随時更新

モナド(Monad)

自己関手の圏におけるモノイド対象

モノイド(Monoid)

関手(Functor)

圏の間の対応付けのことである。 関手は対象関数と射関数の組からなる。

圏(Category)

数学的構造とその変形を取り扱うための枠組みであり、数学的対象をあらわす「対象」とそれらの間の関係を表す「射」の集まりによって与えられる。

例:

  • Set: 集合を「対象」とし、集合間の写像を「射」とする。
  • Grp: 群を「対象」とし、群の準同型を「射」とする。

Haskel用語?

型クラス

型の振る舞いを指定する為の仕組み。 特定の型クラスに属する型は、特定の関数が定義されている事が保証されている。

例: Fanctor型クラス

1
2
class Functor f where
  fmap :: (a -> b) -> f a -> f b

型コンストラクタ

様々な中身に応じた型を作る為の仕組み。

例:

1
2
3
[1, 2, 3] -- [Int] 型。 [] Int 型とも表記可能。
Just 'say' -- Mayby String 型。
Nothing -- Maybe a 型。aは任意の型。

参考資料

  • http://south37.hatenablog.com/entry/2014/03/25/Functor%E3%81%A3%E3%81%A6%E3%81%AA%E3%82%93%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F
  • http://south37.hatenablog.com/entry/2014/04/20/%E3%83%A2%E3%83%8A%E3%83%89%E3%80%81%E3%81%82%E3%82%8B%E3%81%84%E3%81%AF%E8%87%AA%E5%B7%B1%E9%96%A2%E6%89%8B%E3%81%AE%E5%9C%8F%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%83%A2%E3%83%8E%E3%82%A4%E3%83%89

Comments