Actegories:オプティクスを支える圏論の構造をHaskellで解き明かす
プログラミングにおけるレンズやプリズムなどのオプティクスは、圏論の「actegory(アクテゴリー)」という構造に深く根ざしています。本記事では、モノイダル圏の定義から始め、モノイダル圏の作用を受ける圏であるactegoryを、Haskellの型クラスや関数従属を用いて具体的にモデル化します。さらに、actegory間の射であるモノイダル関手と、それらがなす双圏構造についても解説。圏論の抽象的な概念を、実装可能なコードへと落とし込むことで、オプティクスの背後にある数学的基盤を明らかにします。
アクトゴリーは、オブジェクトをモノイダル圏のオブジェクトで「掛け算」または「スケーリング」するものと考えることができます。