[過去ログ]
関数型プログラミング言語Haskell Part33 (1002レス)
関数型プログラミング言語Haskell Part33 http://mevius.5ch.net/test/read.cgi/tech/1581326256/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
237: デフォルトの名無しさん [] 2020/04/19(日) 01:35:32.46 ID:WM8Q0HWB [状態モナド](https://wiki.haskell.org/State_Monad)を [随伴](https://en.wikipedia.org/wiki/Adjoint_functors) on Rails に乗せてみる。 ``` code type W x a b = (a, x) -> (b, x) type S x a b = a -> x -> (b, x) in_away :: W x c d -> W x b c -> W x a b -> W x a d in_away cd bc ab = cd . bc . ab in_home :: S x c d -> S x b c -> S x a b -> S x a d -- in_home cd bc ab = to_home $ in_away (to_away cd) (to_away bc) (to_away ab) where -- in_home cd bc ab = ext cd . ext bc . ab where in_home cd bc ab a = new a %>>=% ab %>>=% bc %>>=% cd where (%>>=%) = flip ext ext = to_home_fmap . to_away new = to_home id to_home_fmap = (.) to_home = curry to_away = uncurry ``` `to_home`が[記事](https://en.wikipedia.org/wiki/Adjoint_functors)での`Phi` に、`ext`が[Kleisliのスター](https://en.wikipedia.org/wiki/Kleisli_category) に対応する。`in_away`は通常の関数の合成で、`in_home`はそれを黒魔術に 翻訳している。 [継続モナド](https://wiki.haskell.org/Continuation)も随伴で書ける。 http://mevius.5ch.net/test/read.cgi/tech/1581326256/237
238: デフォルトの名無しさん [] 2020/04/19(日) 01:36:44.08 ID:WM8Q0HWB ``` code type O x a b = (b -> x) -> a -> x type C x a b = a -> (b -> x) -> x in_away :: O x c d -> O x b c -> O x a b -> O x a d in_away cd bc ab = cd %.% bc %.% ab where (%.%) = flip (.) in_home :: C x c d -> C x b c -> C x a b -> C x a d -- in_home cd bc ab = to_home $ in_away (to_away cd) (to_away bc) (to_away ab) where -- in_home cd bc ab = ext cd . ext bc . ab where in_home cd bc ab a = new a %>>=% ab %>>=% bc %>>=% cd where (%>>=%) = flip ext ext = to_home_fmap . to_away new = to_home id to_home_fmap = flip (.) to_home = flip to_away = flip ``` 厳密には、`flip`は随伴ではないが、`Set^op (a, b)`と`Set (b, a)`が集合 として同型になることを使うと、実質的な随伴の役割を果たす。 http://mevius.5ch.net/test/read.cgi/tech/1581326256/238
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.026s