こんにちは,エムスリーエンジニアリングGの榎田(@niflh)です.最近は SEKIRO をトロコンしたり,確率論の勉強をしたりの日々です.
この記事は前半に引き続く,関数型言語で登場するモナドに関する記事の後半です.前半は数学成分控えめにモナドの解説を試みました.
後半では数学のことばをあまり控えずに著します.モナドを勉強するとあらわれる圏論のことば(のうち,「関手(かんしゅ)」と「自然変換」)について,プログラムに即した理解を試みるのが本稿後半の目的です.或いは,「関数型を勉強するとたまに圏論のことばが出てくるけれども,あのことばたちはプログラムの何に対応するの?」という疑問に(私に可能な範囲で)答える,と言ってもいいでしょう.
本稿は,「圏論のことばに置き換えて新しい知見を得る」ところまでは届きません.それでも,「関数型を勉強していたら突然圏論が出てきて困った」という状況に対するひとつの処方箋として,本稿の役立つところがあるのではないかと信じて書きます.
続きを読む