>>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レスを投稿する
ニュース
- 強豪オランダもPK戦でモロッコに敗れる…ドイツに続き欧州強国2チームが32強でまさかの終了 [王子★]
- 【W杯】ブラジルFWクーニャ、塩貝へ「これで俺らのことが分かっただろう」SNS投稿 「謙虚になれよ」が繰り返される曲流す ★2 [ネギうどん★]
- 【W杯】ブラジルに敗れた森保監督「これからも世界一を目指して日本のために頑張りたい」 [ネギうどん★]
- 【サッカー】塩貝健人、挑発されるも「仕方ない」 出番なしで…発言を弁解「弱いと言いたかったわけじゃ」 [王子★]
- 強豪オランダもPK戦でモロッコに敗れる…ドイツに続き欧州強国2チームが32強でまさかの終了★2 [王子★]
- ブラジルに敗れた日本代表…スペインメディアはどう報じた?「ネイマールを嘲笑った日本人たちをヴィニシウスがだまらせた」 [王子★]
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★267【メキシコ/カナダ/アメリカ】
- 【MLB】アスレチックス vs ドジャース ★2
- 【マターリ】日本vsブラジル ★2
- とらせん 2時
- MLB総合★52
- こいせん 全レス転載禁止
- Q:なぜ日本人は反中なのか?A:中国が落ちたら日本が上がると本気で信じてるからwww [354616885]
- 長友佑都(39)「5度目のW杯は『青春』だった。そして青春が終わってしまって寂しい。森保さんを優勝監督にしたかった」 [683137174]
- 高市首相、インドと仲良くし中国と対抗する方針固める [668024367]
- 【NHK/DAZN】FIFAワールドカップ2026 オランダvsモロッコ★1
- 【悲報】新宿歌舞伎町のおじナンパ師グループ、晒されるWWWWWWWWWWWWWWWWWW被害女性多数 [939270813]
- ワールドカップ 日本VSブラジル 深夜2時から!!