[過去ログ]
関数型プログラミング言語Haskell Part33 (1002レス)
関数型プログラミング言語Haskell Part33 http://mevius.5ch.net/test/read.cgi/tech/1581326256/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
425: デフォルトの名無しさん [] 2020/08/23(日) 10:09:34.95 ID:ts+Zp8he ヌルポはどこにバグがあるかを教えてくれるが、 ボトポにはそれさえない。 ``` code bottom :: a bottom = bottom dangerous_find :: (a -> Bool) -> [a] -> a dangerous_find _ [] = bottom dangerous_find pred (a : as) = if pred a then a else dangerous_find pred as ``` ただ役に立たないというだけでなく、 危険なほど役に立たない関数も作りたければ作れる。 http://mevius.5ch.net/test/read.cgi/tech/1581326256/425
433: デフォルトの名無しさん [] 2020/08/23(日) 23:06:04.74 ID:ts+Zp8he ごめん、関係ないと書いておくべきだった。 今後は、自分の投稿は全て無視して欲しい。 誰かの質問に答えているつもりはなくて、 プログラミングのネタを拾っているだけ。 ついでなので、前回のペーストビンにアップしたネタについて書く。 まず、タプル、状態、継続以外の随伴はちゃんとしていない。 アウェイの圏をちゃんと書こうとすると泣きが入る。Haskellは集合の圏では 超強力だが、それ以外の圏に対しては並になる。中は見てないが、 [species](https://hackage.haskell.org/package/species)では、 圏をほぼフルスクラッチで作っているんじゃないかと思う。 で、コードにする段階でウソをついているのだが、素直にウソをつけば、 上手く行くことがあるということがあそこで得た教訓。 あそこに書いたモナドでパラメーター対象を2つ持つモナドは全て`R p (L p a)` という形をしているが、コードでは型宣言を省略しているので、結局、 非対角成分を含めた`R p (L q a)`という形の関手についてのKleisli合成が 得られている。それがレンズが出てきた理由の一つ。 書いたときは知らなかったのだが、非対角成分を含めた関手を [インデックスモナド](https://stackoverflow.com/questions/28690448/what-is-indexed-monad) というらしい。パラメーター対象をもつ随伴からKleisli合成を計算すれば、 自然とインデックスモナドになってしまう。ただし、圏論プロパーに インデックスモナドと言っても通じないと思う。Haskellでの専門用語だと思う。 http://mevius.5ch.net/test/read.cgi/tech/1581326256/433
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.044s