関数型プログラミング言語 Haskell について語るスレです。
Haskell Language(公式サイト)
https://www.haskell.org/
日本Haskellユーザーグループ - Haskell-jp
https://haskell.jp/
前スレ
関数型プログラミング言語Haskell Part33
https://mevius.5ch.net/test/read.cgi/tech/1581326256/
探検
関数型プログラミング言語Haskell Part34
1デフォルトの名無しさん
2021/12/17(金) 12:57:26.37ID:NPioGyUL525デフォルトの名無しさん
2024/10/05(土) 15:10:26.09ID:u1hwkRNd 圏論の話題出すなよ
Haskellで何か書くにあたって利益があるわけじゃないんだから
Haskellで何か書くにあたって利益があるわけじゃないんだから
526デフォルトの名無しさん
2024/10/05(土) 15:30:46.49ID:2BBo/yBe 利益は道徳よりも軽い
これも、未来予知ができなければ利益を計算できないことに原因がある
これも、未来予知ができなければ利益を計算できないことに原因がある
527デフォルトの名無しさん
2024/10/05(土) 17:25:54.13ID:JByJwyk5 >>521
役に立つなら、もっと色々入ってるかと…。
私はむしろHaskellより圏論そのものに興味の対象が移って、Haskellは圏論の概念を実際に動かしてみるための道具に成り下がってますね^^;
とはいえ、数学の知識不足なので群論やらトポロジーやらあっちこっち読み漁りながらなので、歩みは遅いですが…。
役に立つなら、もっと色々入ってるかと…。
私はむしろHaskellより圏論そのものに興味の対象が移って、Haskellは圏論の概念を実際に動かしてみるための道具に成り下がってますね^^;
とはいえ、数学の知識不足なので群論やらトポロジーやらあっちこっち読み漁りながらなので、歩みは遅いですが…。
528デフォルトの名無しさん
2024/10/05(土) 20:22:21.95ID:J2mQEu2j >>527
面倒でも一般位相の基本、ホモロジーの初歩…と地道にやるのをおすすめします
面倒でも一般位相の基本、ホモロジーの初歩…と地道にやるのをおすすめします
529デフォルトの名無しさん
2024/10/05(土) 20:30:18.78ID:aeHKoAMv 集合と写像の区別もついてないんだから、集合と位相からやらないとだめ
530デフォルトの名無しさん
2024/10/05(土) 22:07:16.25ID:JByJwyk5531デフォルトの名無しさん
2024/10/05(土) 22:16:56.83ID:aeHKoAMv532デフォルトの名無しさん
2024/10/05(土) 23:30:55.73ID:bPGp2ASj >>373=396=530 っぽいから言うと、(数学に関して)「分かった」「理解した」の自己基準が不安しかない
> ほら、分かってみれば「なーんだ。そんなことか」でしょ?
> なるほど、って感じ。
と自分に言い聞かせていても、ポピュラーサイエンス書感覚で読んだってダメ
他人との議論では、逆に「こいつ分かってないな」と思われるだけだからな
> ほら、分かってみれば「なーんだ。そんなことか」でしょ?
> なるほど、って感じ。
と自分に言い聞かせていても、ポピュラーサイエンス書感覚で読んだってダメ
他人との議論では、逆に「こいつ分かってないな」と思われるだけだからな
533デフォルトの名無しさん
2024/10/05(土) 23:50:06.63ID:JByJwyk5 >>532
独学ですしね^^;
こいつ分かってないなと思われても良いですよ?
それで指摘されたものも新しい知識になるので。
どうも定義を読むだけじゃイメージ湧かないので、ネット上や数学書の複数の例え話が全て真だと仮定して、共通の特徴からイメージを掴むパターンが多いんです。
独学ですしね^^;
こいつ分かってないなと思われても良いですよ?
それで指摘されたものも新しい知識になるので。
どうも定義を読むだけじゃイメージ湧かないので、ネット上や数学書の複数の例え話が全て真だと仮定して、共通の特徴からイメージを掴むパターンが多いんです。
534デフォルトの名無しさん
2024/10/06(日) 01:53:03.98ID:6zQjUfx4 いま正常性バイアスを理解した
全て正常だと仮定する
なるほど
全て正常だと仮定する
なるほど
535デフォルトの名無しさん
2024/10/06(日) 10:54:18.58ID:jCq2z3ec 本来Haskell使う上で必要のない数学の知識をかじらされるのかわいそう
こうやって無駄に間口狭めてなんの意味があるんだか
こうやって無駄に間口狭めてなんの意味があるんだか
536デフォルトの名無しさん
2024/10/06(日) 11:09:45.81ID:y6HCCYtz537デフォルトの名無しさん
2024/10/06(日) 12:50:07.74ID:6zQjUfx4538デフォルトの名無しさん
2024/10/06(日) 13:58:19.62ID:jCq2z3ec まず圏論が必要ないっての
539デフォルトの名無しさん
2024/10/06(日) 14:19:17.49ID:6zQjUfx4 それは極論だがそれを許容する代わりに反対側の極論も許容してもらう
ダブルヘイターとは違うのだよ
ダブルヘイターとは違うのだよ
540デフォルトの名無しさん
2024/10/07(月) 16:51:22.87ID:89HfDe1C >>539
君頭悪いなら無理に書き込まないほうがいいよ
君頭悪いなら無理に書き込まないほうがいいよ
541デフォルトの名無しさん
2024/10/08(火) 16:34:43.77ID:uOPPJ/Hn 圏論好きはHaskellよりCPLで幸せになれる
542デフォルトの名無しさん
2024/10/08(火) 19:19:24.66ID:fXGz3G0z >>529
集合と写像って違うんですか?写像って集合ではなかったですか?
集合と写像って違うんですか?写像って集合ではなかったですか?
543デフォルトの名無しさん
2024/10/08(火) 19:24:10.23ID:u3fJk7wa >>541
CPLとは?kwsk
CPLとは?kwsk
544デフォルトの名無しさん
2024/10/08(火) 19:35:49.07ID:i8KKt4Pq545デフォルトの名無しさん
2024/10/08(火) 20:00:43.25ID:fXGz3G0z >>544
なるほど。勉強になります。
なるほど。勉強になります。
546デフォルトの名無しさん
2024/10/08(火) 20:58:36.65ID:uOPPJ/Hn >>543
CPL (圏論プログラミング言語)
https://ja.m.wikipedia.org/wiki/CPL_(%E5%9C%8F%E8%AB%96%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)
CPL (圏論プログラミング言語)
https://ja.m.wikipedia.org/wiki/CPL_(%E5%9C%8F%E8%AB%96%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)
547デフォルトの名無しさん
2024/10/08(火) 21:59:10.54ID:fIGAPb3c CPL使ったことは一度もないが
関手圏よりもっとややこしい圏で、モナドより凡庸なものを定義するんでしょ
関手圏よりもっとややこしい圏で、モナドより凡庸なものを定義するんでしょ
548デフォルトの名無しさん
2024/10/08(火) 23:08:48.38ID:Fz/Eetv9 こんなんだけど
>通常では,自然数などのデータ型は,効率のためにシステムに組込んであるが,CPLでは定義しなければならない.
>また,定義したとしても,機械本来の足し算,かけ算を使用できず,独自に定義しなければならない.
>通常では,自然数などのデータ型は,効率のためにシステムに組込んであるが,CPLでは定義しなければならない.
>また,定義したとしても,機械本来の足し算,かけ算を使用できず,独自に定義しなければならない.
549デフォルトの名無しさん
2024/10/09(水) 00:11:45.00ID:NBQjGpZO O'CAMLのCAMLはCategorical Abstract Machine Languageの略ということを忘れてはかわいそう。
550デフォルトの名無しさん
2024/10/09(水) 20:31:07.90ID:UpCIlB6y >>546
Thenks!!
Thenks!!
551デフォルトの名無しさん
2024/10/12(土) 20:07:00.42ID:fyUcodga 初心者はStack、ガチムチはCabalで開発するんですか?
552デフォルトの名無しさん
2024/10/15(火) 05:30:10.38ID:CzVFQLgH みんなStackだよ
Cabalの依存関係解決はましになったとはいえプロジェクト構成の記述はStackのほうがよくできてるし
Cabalの依存関係解決はましになったとはいえプロジェクト構成の記述はStackのほうがよくできてるし
553デフォルトの名無しさん
2024/10/15(火) 22:34:15.38ID:2I09ehic 詳しい情報サンクス
CabalやめてStackに帰ります
GHCup tuiで選べるCabalやHLSやStackも全部recommendedに落とします
CabalやめてStackに帰ります
GHCup tuiで選べるCabalやHLSやStackも全部recommendedに落とします
554デフォルトの名無しさん
2024/10/16(水) 05:04:51.74ID:PvdZsye3 ああCabal辞めてStackに移行したらビルドし直しただけでTLSのハンドシェイクがTwitchでは大丈夫なのにツイキャスで失敗する謎の不具合が治りました
やっぱStackすわ
やっぱStackすわ
555デフォルトの名無しさん
2024/10/18(金) 18:33:56.50ID:358zSdqs 別に不具合あったわけじゃないならよくね
みんなとか言い出したらそもそもみんなhaskellなんか使ってないが
みんなとか言い出したらそもそもみんなhaskellなんか使ってないが
556デフォルトの名無しさん
2024/10/25(金) 23:46:50.40ID:jl3K3ThU Haskellを学んだみたいと思うんだけど、「すごいHaskell たのしく学ぼう」って書籍は今でも有用?
Haskellの良書として挙げることは多いと思うけど、出版から10年以上経ってるのが気になった
その間で言語に大きな変更があったとか、「今のHaskellだったらこう書くよね」みたいな注意が必要な点などあれば知りたい
あるいは最近の書籍でよりおすすめというものでも
Haskellの良書として挙げることは多いと思うけど、出版から10年以上経ってるのが気になった
その間で言語に大きな変更があったとか、「今のHaskellだったらこう書くよね」みたいな注意が必要な点などあれば知りたい
あるいは最近の書籍でよりおすすめというものでも
ちょっと古い情報だけど、
僕が「すごいH」を購入したのが2016.12だけど、数年後には章立ての変更まではなかったかもしれないけど、コードの記述など結構アップデートされてたような
いずれにしても、一冊でHaskellを、ってのはアレで、何冊かは読まないとと僕の場合
僕が「すごいH」を購入したのが2016.12だけど、数年後には章立ての変更まではなかったかもしれないけど、コードの記述など結構アップデートされてたような
いずれにしても、一冊でHaskellを、ってのはアレで、何冊かは読まないとと僕の場合
558デフォルトの名無しさん
2024/10/26(土) 01:14:59.65ID:jaMDzNJq559デフォルトの名無しさん
2024/10/26(土) 13:33:26.33ID:qze4GRwI モナドはCのポインタより概念が難しいのどうにかならんの
別のはないんですか
別のはないんですか
560デフォルトの名無しさん
2024/10/26(土) 14:33:50.42ID:jaMDzNJq ない
別に理論的な部分はすっ飛ばしていいよ
純粋関数型言語で手続き型言語のようなシーケンスをどうやったら書けるか?みたいなパズルを解く方法と思ってればいい
全てはdo記法にため
別に理論的な部分はすっ飛ばしていいよ
純粋関数型言語で手続き型言語のようなシーケンスをどうやったら書けるか?みたいなパズルを解く方法と思ってればいい
全てはdo記法にため
561デフォルトの名無しさん
2024/10/26(土) 18:20:45.25ID:QG40CL6R >>559
だったらCleanはどうでせう?
モナドの代わりに線形何たらっての使ってる。
副作用関数を使い捨て関数と捉える概念らしいけど…。
変数は引数のない関数と捉えられるので、入力関数も外部で代入する変数と捉えられる。
んで、
return 0 >>= \x -> return (x + 1) >>= \x -> return (x + 1) = 2
は
return 0 >>= (\x -> return (x + 1) >>= (\x -> return (x + 1)))
と解釈されて、(\x -> ...) 部分が1個のラムダ式(関数)の上に階層構造なので、同名の変数 x はシャドーイングで古い値は隠される。
(そして隠されたら他から参照されなくなるのでGCでメモリを解放される)
IOモナドな入力関数も引数が無いので、値を外部で代入する変数と捉え、シャドーイングで古い値は隠されると考えると、線形何たらの使い捨て副作用関数と同じことしてる。
だったらCleanはどうでせう?
モナドの代わりに線形何たらっての使ってる。
副作用関数を使い捨て関数と捉える概念らしいけど…。
変数は引数のない関数と捉えられるので、入力関数も外部で代入する変数と捉えられる。
んで、
return 0 >>= \x -> return (x + 1) >>= \x -> return (x + 1) = 2
は
return 0 >>= (\x -> return (x + 1) >>= (\x -> return (x + 1)))
と解釈されて、(\x -> ...) 部分が1個のラムダ式(関数)の上に階層構造なので、同名の変数 x はシャドーイングで古い値は隠される。
(そして隠されたら他から参照されなくなるのでGCでメモリを解放される)
IOモナドな入力関数も引数が無いので、値を外部で代入する変数と捉え、シャドーイングで古い値は隠されると考えると、線形何たらの使い捨て副作用関数と同じことしてる。
562デフォルトの名無しさん
2024/10/28(月) 07:23:18.71ID:duvMwVsG563デフォルトの名無しさん
2024/10/28(月) 11:18:21.59ID:ABlPDVd9 すごいエロい本か
564デフォルトの名無しさん
2024/10/28(月) 16:01:27.57ID:3PX2guVI >>563
それ面白いと思ってレスしてんの?
それ面白いと思ってレスしてんの?
565デフォルトの名無しさん
2024/10/28(月) 17:13:55.02ID:B1OBTGXf 10年前のtwitterでは鉄板ジョークでしたよ
すごいH
すごいH
566デフォルトの名無しさん
2024/10/28(月) 19:07:28.37ID:aKxYxFxQ haskell知らない人はエロ本だと思うし
隠れた卑猥な意味が無ければ
隠語としての価値も無い
隠れた卑猥な意味が無ければ
隠語としての価値も無い
567デフォルトの名無しさん
2024/10/28(月) 19:57:49.83ID:2RuMUG8y ML族のRustが市民権を得た今haskellやる意味ないよ
その時間をRustに当てなさい
その時間をRustに当てなさい
568デフォルトの名無しさん
2024/10/28(月) 21:28:05.60ID:B1OBTGXf 平均的HaskellerはRustもやった上でLinearTypes拡張がどうなるか様子見しつつ両方使ってるのでは?
https://zenn.dev/konn/articles/2023-10-01-linear-haskell-in-2023
https://zenn.dev/konn/articles/2023-10-01-linear-haskell-in-2023
569デフォルトの名無しさん
2024/10/28(月) 22:50:50.12ID:duvMwVsG Haskellスレで言われましても
わざわざカレー屋に来て「ラーメンを食え」って喧伝するようなものでしょ
わざわざカレー屋に来て「ラーメンを食え」って喧伝するようなものでしょ
570デフォルトの名無しさん
2024/10/29(火) 10:29:33.30ID:2QinlXet >>567
ほんそれ
ほんそれ
571デフォルトの名無しさん
2024/10/29(火) 11:58:27.10ID:IrbjK6II Rustを関数型扱いするやつは
Rustも関数型もまるで理解してない
だから誰も真面目には相手してくれない
Rustも関数型もまるで理解してない
だから誰も真面目には相手してくれない
572デフォルトの名無しさん
2024/10/29(火) 12:22:05.93ID:dZcxKFDp そう。世界がHaskellから孤立していく
世界はもっと危機感もった方が良いよ
世界はもっと危機感もった方が良いよ
573デフォルトの名無しさん
2024/10/29(火) 15:30:57.70ID:+9FvEifI 実用プログラムに使った例はあるの?
574デフォルトの名無しさん
2024/10/29(火) 16:00:48.67ID:FJXFYfo2575デフォルトの名無しさん
2024/10/29(火) 22:29:59.15ID:LPWWq4s4 >>573
自分も詳しくはないけど、クローズドな分野が多いんじゃない?
自分も詳しくはないけど、クローズドな分野が多いんじゃない?
576デフォルトの名無しさん
2024/10/29(火) 23:08:38.64ID:+9FvEifI >>575
秘密ということ、それじゃわからんと同じことじゃないか
秘密ということ、それじゃわからんと同じことじゃないか
577デフォルトの名無しさん
2024/10/29(火) 23:25:09.95ID:6SLkDv7J 世界は頭悪すぎてHaskellを使いこなせていない
世界はもっと危機感を持った方が良い
世界はもっと危機感を持った方が良い
578デフォルトの名無しさん
2024/10/30(水) 02:10:51.19ID:p9nsrTZ/ 急に主語が大きくなったぞωωω=2πf
579デフォルトの名無しさん
2024/11/02(土) 09:15:14.82ID:KpOoS8wa クローズドな部分なら使ったうちには入らないな
580デフォルトの名無しさん
2024/11/02(土) 18:11:47.64ID:3NvQMTDb 金融工学で使ってるとこあるかもね
OCamlが定番らしいし
OCamlが定番らしいし
581デフォルトの名無しさん
2024/11/02(土) 19:19:33.26ID:Mufqfjtq582デフォルトの名無しさん
2024/11/02(土) 19:33:48.22ID:pIz290+w583デフォルトの名無しさん
2024/11/02(土) 19:38:33.59ID:3NvQMTDb584デフォルトの名無しさん
2024/11/02(土) 20:11:17.53ID:pIz290+w >>581
どっちかというと、教育に興味があって、例えば足し算の足し方が増加と追加って2種類あるんだけど、追加は後から増えるって意味だと教科書に書いてあるけど、その説明がもやもやする。
それで、違いを考えるとこれは
増加の足し算:末尾再帰。その場で簡約出来る
3 + 2 = (3 + 1) + (2- 1) = 4 + 1 = (4 + 1) + (1 -1) = 5 + 0 = 5
追加の足し算:再帰。基底部まで来てから簡約開始。リストの ++ 演算子的な動き。
2 + 3 = 1 + ((2 - 1) + 3) = 1 + (1 + ((1 - 1) + 3)) = 1 + (1 + (0 + 3)) = 1 + (1 + 3) = 1 + 4 = 5
みたいに、足し算作らないと気付かない違いを気付いて教えるのに役立ててる。
(+1/-1の代わりにsucc/pred関数の適用で考えた方が分かり易いかも)
どっちかというと、教育に興味があって、例えば足し算の足し方が増加と追加って2種類あるんだけど、追加は後から増えるって意味だと教科書に書いてあるけど、その説明がもやもやする。
それで、違いを考えるとこれは
増加の足し算:末尾再帰。その場で簡約出来る
3 + 2 = (3 + 1) + (2- 1) = 4 + 1 = (4 + 1) + (1 -1) = 5 + 0 = 5
追加の足し算:再帰。基底部まで来てから簡約開始。リストの ++ 演算子的な動き。
2 + 3 = 1 + ((2 - 1) + 3) = 1 + (1 + ((1 - 1) + 3)) = 1 + (1 + (0 + 3)) = 1 + (1 + 3) = 1 + 4 = 5
みたいに、足し算作らないと気付かない違いを気付いて教えるのに役立ててる。
(+1/-1の代わりにsucc/pred関数の適用で考えた方が分かり易いかも)
585デフォルトの名無しさん
2024/11/02(土) 20:16:43.59ID:pIz290+w >>583
そうなんだ。
そういうライブラリ頼みっぽい事なら、MathmacticaとかPythonのが良さそうなのにね。
金融商品だったら統計に強いRだってあるし。
なぜわざわざOCamlだったのやら…。
そうなんだ。
そういうライブラリ頼みっぽい事なら、MathmacticaとかPythonのが良さそうなのにね。
金融商品だったら統計に強いRだってあるし。
なぜわざわざOCamlだったのやら…。
586デフォルトの名無しさん
2024/11/03(日) 11:40:35.68ID:kGU90lSm587デフォルトの名無しさん
2024/11/03(日) 17:33:41.03ID:4RaSizfZ その手のはかなり昔からの話だしその頃pythonはそんな一般的ではない
588デフォルトの名無しさん
2024/11/03(日) 18:58:10.27ID:W/WQS3jI589デフォルトの名無しさん
2024/11/06(水) 18:53:34.69ID:s8sk505y semigroupoidsのAltからFunctor抜いたやつないのかな
catsのSemigroupK相当のやつ
catsのSemigroupK相当のやつ
590デフォルトの名無しさん
2024/11/07(木) 02:17:24.00ID:w1FRCcDr HackageもHaskellWikiもつながらねえ
攻撃でも受けたか
攻撃でも受けたか
591デフォルトの名無しさん
2024/11/07(木) 06:45:43.72ID:NVSipRlq 数か月前もHoogle繋がらなかったしね…。
592デフォルトの名無しさん
2024/11/09(土) 18:32:16.19ID:r4DlAvJp mylist.py TotalSeconds : 6.1246778
1:def mylist(n, m):
2: a = 1
3: outer = []
4: for _ in range(0, n):
5: inner = []
6: for _ in range(0, m):
7: inner.append(a)
8: a += 1
9: outer.append(inner)
10: return outer
11:
12:print(mylist(6000, 8000)[-1][-1])
上と同じ動きのコードを書いたけど、
アルゴリズムとしてはPythonと同じmylist.hsのコードが良いはずなのに、
どっちも最適化するとmylist2.hsのが良好。
(ファイル名の横の秒数は実行時間)
mylist.hs TotalSeconds : 4.107899
1:main = print.last.last $ mylist 6000 8000
2:
3:mylist n m = take n.f $ [1..]
4: where f ns = xs:f ys
5: where (xs, ys) = splitAt m ns
mylist2.hs TotalSeconds : 2.3916408
1:main = print.last.last $ mylist 6000 8000
2:
3:mylist n m = take n.iterate f $ [1..m]
4: where f = map (+m)
1:def mylist(n, m):
2: a = 1
3: outer = []
4: for _ in range(0, n):
5: inner = []
6: for _ in range(0, m):
7: inner.append(a)
8: a += 1
9: outer.append(inner)
10: return outer
11:
12:print(mylist(6000, 8000)[-1][-1])
上と同じ動きのコードを書いたけど、
アルゴリズムとしてはPythonと同じmylist.hsのコードが良いはずなのに、
どっちも最適化するとmylist2.hsのが良好。
(ファイル名の横の秒数は実行時間)
mylist.hs TotalSeconds : 4.107899
1:main = print.last.last $ mylist 6000 8000
2:
3:mylist n m = take n.f $ [1..]
4: where f ns = xs:f ys
5: where (xs, ys) = splitAt m ns
mylist2.hs TotalSeconds : 2.3916408
1:main = print.last.last $ mylist 6000 8000
2:
3:mylist n m = take n.iterate f $ [1..m]
4: where f = map (+m)
593デフォルトの名無しさん
2024/11/09(土) 18:32:43.47ID:r4DlAvJp mylist2.hsのアルゴリズムは
f = map (+3)とすれば
[1,2,3]
[4,5,6] -- f [1,2,3] = [1 + 3, 2 + 3, 3 + 3] = [4,5,6]
[7,8,9] -- f (f [1,2,3]) = f [1 + 3, 2 + 3, 3 + 3] = [4 + 3, 5 + 3, 6 + 3] = [7,8,9]
と、行数が増えるごとに関数の適用回数が増えるので本来なら遅いはずですが、
考えるに直前の結果をキャッシュする様な最適化が施された模様。(-O3)
(そうすると、mylist.hsのsplitAtの方がボトルネックになる?)
最適化なしでのコンパイルはしてないので、
もしかしたらiterateの中身自身がキャッシュするように改良されたのかも。
f = map (+3)とすれば
[1,2,3]
[4,5,6] -- f [1,2,3] = [1 + 3, 2 + 3, 3 + 3] = [4,5,6]
[7,8,9] -- f (f [1,2,3]) = f [1 + 3, 2 + 3, 3 + 3] = [4 + 3, 5 + 3, 6 + 3] = [7,8,9]
と、行数が増えるごとに関数の適用回数が増えるので本来なら遅いはずですが、
考えるに直前の結果をキャッシュする様な最適化が施された模様。(-O3)
(そうすると、mylist.hsのsplitAtの方がボトルネックになる?)
最適化なしでのコンパイルはしてないので、
もしかしたらiterateの中身自身がキャッシュするように改良されたのかも。
594デフォルトの名無しさん
2024/11/10(日) 16:05:22.18ID:AfmJKCJ3 これ数学的にどういうことなのか
かいつまんで教えてくらまいか
watch?v=dYj0rPQeRkA
かいつまんで教えてくらまいか
watch?v=dYj0rPQeRkA
595デフォルトの名無しさん
2024/11/16(土) 10:08:07.70ID:9CYVpzbn Category Theory Using Haskell
An Introduction with Moggi and Yoneda
Shuichi Yukita
という書籍が来月出るんですって?
An Introduction with Moggi and Yoneda
Shuichi Yukita
という書籍が来月出るんですって?
596デフォルトの名無しさん
2024/11/16(土) 14:32:48.68ID:Avgm411i597596
2024/11/16(土) 14:36:30.07ID:Avgm411i 円記号がバックスラッシュになっていたので訂正
¥36,125
フォントによるわけだが
¥36,125
フォントによるわけだが
598デフォルトの名無しさん
2024/11/16(土) 15:13:06.50ID:ZnREBqGy 買って損するだけの高額本の予感
599デフォルトの名無しさん
2024/11/16(土) 15:27:44.60ID:x85mVkLf なんだ雪田の本じゃねぇか
プラスアルファはあるかも知れんが
基本雪田の「圏論入門 Haskellで計算する具体例から」と大差無いと思うぞ
プラスアルファはあるかも知れんが
基本雪田の「圏論入門 Haskellで計算する具体例から」と大差無いと思うぞ
600デフォルトの名無しさん
2024/11/16(土) 20:50:43.88ID:ZUJ+jDQV 結局Moggiのアイディアがなんなのか書いてなかったから、洋書でも同じでしょ。
601デフォルトの名無しさん
2024/11/16(土) 21:01:44.68ID:UsNa54E4 すでに書かれてるのがwikipediaにあるじゃん
https://ja.m.wikipedia.org/wiki/%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%B9%E3%83%AA%E5%9C%8F
https://ja.m.wikipedia.org/wiki/%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%B9%E3%83%AA%E5%9C%8F
602デフォルトの名無しさん
2024/11/16(土) 21:18:48.47ID:ZUJ+jDQV wikiのは肝心のvalueとcomputationについてちゃんと書いてない。
computationの訳を「計算された値」とするのは微妙。
computationの訳を「計算された値」とするのは微妙。
603デフォルトの名無しさん
2024/11/16(土) 21:28:16.06ID:ZUJ+jDQV 『圏論入門』の方にはvalueもcomputationも書いてなかったと思うから言わずもがな。
604デフォルトの名無しさん
2024/11/16(土) 21:43:11.16ID:HNcchqjT 出たら人柱になって買って読んで下さい
605デフォルトの名無しさん
2024/11/16(土) 22:29:43.38ID:MlIU4R6X 多分加筆してると思うよ
日本の出版社はなぜかページ数制限があることが多いんだけど
海外にそれはないし
日本の出版社はなぜかページ数制限があることが多いんだけど
海外にそれはないし
606デフォルトの名無しさん
2024/11/16(土) 22:41:34.37ID:ZUJ+jDQV 加筆してvalueとcomputationの説き起こしから始めて本当にMoggiのアイディア書くかなぁ?
米田の補題が工学応用できるとかいう主張と衝突する気がするんだけれど。
米田の補題が工学応用できるとかいう主張と衝突する気がするんだけれど。
607デフォルトの名無しさん
2024/11/17(日) 08:11:12.88ID:RK7ri1yG レポよろ
608デフォルトの名無しさん
2024/11/17(日) 09:07:13.97ID:zx90fdBd ぷりぷりです
609デフォルトの名無しさん
2024/11/17(日) 14:35:29.88ID:895B27h0 4万近く出してわざわざレポだけする奴なんているの?
圏論入門と同じでそれらしいキーワードだけ出して終わりの可能性高いのに。
圏論入門と同じでそれらしいキーワードだけ出して終わりの可能性高いのに。
610デフォルトの名無しさん
2024/11/17(日) 19:34:30.56ID:A63wUj4E まぁそもそもHaskellで圏論持ち出す必要ないしな
生産性上がらないよ
生産性上がらないよ
611デフォルトの名無しさん
2024/11/17(日) 19:42:07.02ID:bAlb8WtH Haskell、コーダー界隈で圏論勉強会が流行していた時期、あれは何だったのか?
612デフォルトの名無しさん
2024/11/17(日) 20:00:10.23ID:895B27h0 圏がグラフの拡張みたいな概念だったから、グラフ理論みたいに有用なプログラミングにつかえるアルゴリズムがあるんじゃないかってことでやってたように見えた。
モナドも説明したかったようにみえたけど、結局圏論の勉強を踏まえた説明はでてこなかった。
モナドも説明したかったようにみえたけど、結局圏論の勉強を踏まえた説明はでてこなかった。
613デフォルトの名無しさん
2024/11/17(日) 21:17:15.64ID:U7PWp5lE614デフォルトの名無しさん
2024/11/20(水) 04:56:53.37ID:vcDCbnyw プログラムは合成できないといけないって当然のことを、いちいち圏である必要があるとか言い換えるオレ天才だわー
615デフォルトの名無しさん
2024/11/20(水) 18:55:46.60ID:QVKMRnqI616デフォルトの名無しさん
2024/11/21(木) 00:16:43.88ID:r2/mXbdf 集合論と圏論の抽象度がもし同レベルならたしかに圏である必要はないな
必要ない情報は捨象されるべきだと言われれば何も反論できない
だから抽象化マウントは強いんだ
必要ない情報は捨象されるべきだと言われれば何も反論できない
だから抽象化マウントは強いんだ
617デフォルトの名無しさん
2024/11/21(木) 01:45:46.56ID:bAf4oZLa 抽象化すればプログラムしにくいと思うけど
618デフォルトの名無しさん
2024/11/21(木) 19:02:52.56ID:fTdZV0pc プログラムが圏になるためとかいうクソしょうもない理由がモナド導入の理由って本当か?
圏論っていうか圏じゃん。モノイド構造も米田の補題もなにも出てこないんだが
圏論っていうか圏じゃん。モノイド構造も米田の補題もなにも出てこないんだが
619デフォルトの名無しさん
2024/11/21(木) 21:57:07.56ID:r2/mXbdf 型構築子を導入すれば関手もモナドも勝手についてくる
型を必要とするすべての言語で同じことが言える
これも抽象化
型を必要とするすべての言語で同じことが言える
これも抽象化
620デフォルトの名無しさん
2024/11/28(木) 10:04:33.91ID:p2Q1UON9 haskellでスクレイピングがやりたいんだが
arch linuxのリポにはscalpelがない
別言語でやったほうがいいかな?
arch linuxのリポにはscalpelがない
別言語でやったほうがいいかな?
621デフォルトの名無しさん
2024/12/04(水) 21:11:42.90ID:D3PBVzJs ディストリで全部パッケージ化してくれてるとは思えん
stackかcabal入れて自分で管理するんじゃね?
ローカルに1GBくらいのライブラリ入るし重複しないようにしないといかんが
もちろんseleniumとか使うにしてもpythonとかrubyのほうが楽やろ
stackかcabal入れて自分で管理するんじゃね?
ローカルに1GBくらいのライブラリ入るし重複しないようにしないといかんが
もちろんseleniumとか使うにしてもpythonとかrubyのほうが楽やろ
622デフォルトの名無しさん
2024/12/08(日) 23:12:57.17ID:G2o8fSXB おおむね10^-300前後(-400乗は無理だった)精度の任意精度少数。
定義済みの中ではPico(10^-12)までは定義されてる。
下の定義のE300/10^300/F300を書き換えれば任意精度の浮動小数型が作れる。
(F300がPicoとかNanoとかの型)
ただし、pi/sin/sqrtなどの倍精度/単精度の浮動小数型用関数/定数が使えなくなるので四則演算を駆使して自作する必要がある。
import Data.Fixed
data E300
instance HasResolution E300 where resolution _ = 10^300
type F300 = Fixed E300
定義済みの中ではPico(10^-12)までは定義されてる。
下の定義のE300/10^300/F300を書き換えれば任意精度の浮動小数型が作れる。
(F300がPicoとかNanoとかの型)
ただし、pi/sin/sqrtなどの倍精度/単精度の浮動小数型用関数/定数が使えなくなるので四則演算を駆使して自作する必要がある。
import Data.Fixed
data E300
instance HasResolution E300 where resolution _ = 10^300
type F300 = Fixed E300
623デフォルトの名無しさん
2024/12/19(木) 15:03:02.64ID:NXRHTsH0 add (x,y) (a,b) = (x+a,y+b)
これをaddを定義せずにarrowで簡単にかく方法はありますか
これをaddを定義せずにarrowで簡単にかく方法はありますか
624デフォルトの名無しさん
2024/12/19(木) 16:15:15.91ID:hCGKCs/t arrowてなんすか
625デフォルトの名無しさん
2024/12/19(木) 19:27:09.72ID:gIJYmlNm 富士通のスマホ
レスを投稿する
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 麻生太郎氏、高市政権と距離を置きはじめる(´・ω・`) [399259198]
- 【悲報】中国営業に熱心な日本人タレントたち、中国のイベントが続々と中止に… まだ予定中のアイドルとか歌手とかたくさんいるけど [452836546]
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 高市総理で期待してるかもしれないけど、自民党はもうダメだから、超党派の勢力が出てくるみたいだぞ。 [134367759]
- トヨタ、反日だった。2027年に中国にレクサスのEV工場を設立。高市 [931948549]
