>>407
圏論の自然変換だと文字コード前提じゃないので、[0..25] = ['a'..'z'] = ['A'..'Z']ってする。
んで、大文字と小文字は同じ文字の圏、[0..25]は自然数の圏とする。
lCharToInt c = (length.takeWhile (c /=)) ['a'..'z'] -- 小文字からIntへの変換(関手)
uCharToInt c = (length.takeWhile (c /=)) ['A'..'Z'] -- 大文字からIntへの変換(関手)
toLChar = (['a'..'z']!!) -- Intから小文字への変換(関手)
toUChar = (['A'..'Z']!!) -- Intから大文字への変換(関手)
mytoLower = toLChar.uCharToInt -- 大文字から小文字への変換(自然変換)
mytoUpper = toUChar.lCharToInt -- 小文字から大文字への変換(自然変換)
でも、普通のプログラミング言語のtoLower, toUpperも、Char型を圏とみれば同じ。
可換にするのは面倒くさい上に効率悪いけど、そういう関手を作ろうと思えば作れる。
探検
関数型プログラミング言語Haskell Part34
413デフォルトの名無しさん
2024/10/02(水) 20:27:37.99ID:AFS53MaUレスを投稿する
ニュース
- 【英政府】生きたままゆでるの禁止 ロブスターにも苦痛 [ポンコツ★]
- 【東京】西東京市の住宅で親子4人死亡 母親名義のマンションで知人男性も死亡 いきさつや関連を捜査 警視庁 ★3 [ぐれ★]
- 日テレの男性記者と女性記者がカラオケBOXで行為に及び、NHK記者が動画撮影 動画が拡散するも女性記者は「泥酔していて記憶がない」★4 [Ailuropoda melanoleuca★]
- 日本の24年の1人当たりGDP、24位 [ぐれ★]
- 高市内閣の若い世代の支持率は92.4% FNN世論調査★7 [♪♪♪★]
- ジャパネットたかた、売上高が過去最高に…2950億円の見込み [煮卵★]
- 【悲報】中国の駅改札、日本人が見ると発狂するレベルでストレスMAXwwwww [339035499]
- 【悲報】小麦が豊作すぎて国際価格が大暴落 [455031798]
- 【高市🍷】 ボージョレ・ヌーボーさん。 オワコンになってしまう……😨 [485983549]
- 「弟子が師匠を超えたもの」←何思い浮かべた?
- フィフィ「私は虹色が好きだったんだよ」「今は虹色フラッグ掲げてたらキ千ガイに思われるじゃねえかよ」 [384232311]
- 天音かなた、紙面を飾るなって言ってるのに飾ってしまう🏡
