エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください
Twitterで共有ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します
haskell入門 の著者の一人、hirataraです。といっても、このエントリは書籍とはまったく関連のないお遊... haskell入門 の著者の一人、hirataraです。といっても、このエントリは書籍とはまったく関連のないお遊びです ということで、今回は10年ほど前のエントリである しりとりの圏 を、Haskellで実装しようと試みましたので、その過程をだらだらと書いていきます。 前置き しりとりの圏とは以下のようなものです。 対象(Object)は文字 'あ' 'い' 'う' ・・・ 射(Morphism)は文字列 "はすける" :: 'は' -> 'る' 恒等射(Identity)は一文字 "あ" : 'あ' -> 'あ' 合成は文字列の結合 "るびー" . "はすける" == "はすけるびー" この圏は直感的にわかりやすい圏で、圏論の初学者が集合圏以外の圏に触れるきっかけとしてはちょうどよい題材と言えます。 しかし、「圏論と言えばHaskellだろう」と安易に考えてこの圏をHaskellのプログ