関数型プログラミング言語Haskell Part33

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
垢版 |
2020/02/10(月) 18:17:36.49ID:L6eYQqyh
関数型プログラミング言語 Haskell について語るスレです。

Haskell Language(公式サイト)
https://www.haskell.org/
日本Haskellユーザーグループ - Haskell-jp
https://haskell.jp/

前スレ
関数型プログラミング言語Haskell Part32
https://mevius.5ch.net/test/read.cgi/tech/1548720347/
2021/09/26(日) 21:46:38.01ID:m/60KM4j
>>908
そこまでしっかり考察したのなら、質問する前にまず実験してみようよ。
2021/09/27(月) 16:47:57.85
>>909
実験してみたら、各スレッドで別の値が生成されていました
しかしドキュメント見ると It uses mutable state so same generator shouldn't be used from the different threads simultaneously.と書いてあるんですが
これはどう受け取ったらいいんですかね
各スレッドで別の値が生成されているなら用を為してる(ように思える)からいいじゃないかとも思うのですが
何か別の理由があって、そう思えてもやはり使うなという事なんでしょうか?
2021/09/27(月) 18:11:25.46ID:XYchXu+H
>>910
mutable stateの排他制御をしてないから複数のスレッドで実行するとまずいことが起こるかもしれない、ってことじゃないの?

排他制御
https://ja.wikipedia.org/wiki/%E6%8E%92%E4%BB%96%E5%88%B6%E5%BE%A1
2021/09/27(月) 20:38:39.08ID:MDVYajz0
>>910
パフォーマンスの実験もね。
理論上パフォーマンスが落ちると分かっていても、実用上は問題ない場合も多い。
2021/09/29(水) 15:57:53.68ID:lU7q1h04
>>907
そこで関数モナドが出てくるのは知らないと思い至らないなあ
勉強になった
2021/09/30(木) 07:09:39.49ID:N1l0weLI
>>907
セミコロンを書かない言語ではすべからく改行直後に
(getLine)と書くとどうなるか問題が出てくる
2021/09/30(木) 09:21:54.92ID:LH+TfD4u
すべからく警察だ!
2021/09/30(木) 09:22:48.41
>>911
具体的にどういうケースでどういう問題が起こるか解らないので、取り敢えずドキュメントにスレッド間で共有はやめろとある以上、大人しく従うことにします

>>912
STM版が、3950Xエコモードシングル500分の処理が30スレッド割り当てで220分くらいになりましたが
CPU使用率も75%前後で残念でした

競合するリソースが多過ぎたからではと思い、競合を避ける事を考えていると
そもそもSTMを使わず、スレッド毎にローカルにデータを貯めて処理して最後に各スレッドで部分的に仕上げたデータをChanで流して
、受信した側でデータを総括する、初歩的な方式を思いついたので書き換えました

getChanContentsを使いましたが、EOFみたいな最後の通知方法が判らずに、全スレッドの処理が終わりもう誰もデータを流すことのないチャネルから性懲りもなく読みだそうとしてしまい
例外が発生して困っていました
幸いスレッドの数は判っているのでチャネルからtakeする数をスレッド数ちょっきりとして切り上げた所、遅延評価が幸いしてその先を読もうとしなくなり例外は発生しなくなりました(本質的解決かは判りません)
これにより処理が18分で終わりました
スレッド毎にcreateSystemRandomするように書き換えると21分かかるようになりました
オーバヘッド込みでも500分かかっていた時代から驚異的な進化を遂げました

憧れだった Software Transactional Memory は期待程速くなくがっかりしました
STMは最初に検討するべきではなく、巧く競合が発生しないように書けないときの最後の手段なのかなと思いました
2021/09/30(木) 16:59:33.11ID:Ai6xyiAS
物理cpuが四つとかの擬似マルチスレッドではそんなに早くならないと思ってたけど、ものによってはそんなにも早くなるもんなんだな
2021/10/04(月) 21:32:31.29ID:zxVeK0W2
と思ったら3950x gpuでほんとに物理スレッドがたくさんある場合の話か
2021/10/05(火) 23:20:55.55ID:75xrYyRf
>>907
型注釈してないのに、インスタンスとして関数モナドが選択されるのはどうしてですか?
getLineが影響していますか?
2021/10/06(水) 01:58:31.84ID:3ymQugFf
>>919
return 1 getLine は (return 1) getLine だから、
(return 1) が関数(a->b) じゃないと型が合わないんじゃないかな?
2021/10/06(水) 22:57:04.48ID:MRfRTuXd
関数モナドと同じように、引数一つ取るモナド作ったらambiguousって怒られるかなと思ったんだけど、コンストラクタ書かないとならないからうまくいかない。
この値は関数モナドにしか解決されないのかな
2021/10/07(木) 09:52:08.72ID:AVdaEi5L
C++のoperator()()に相当する演算を多重定義できないので曖昧ではない
923デフォルトの名無しさん
垢版 |
2021/10/17(日) 18:41:32.26ID:DQz0YbVB
なんjでめんだこって言う女装子がhaskell勉強していてdao of functional programmingっていう海外の人が書いた文献がわかりやすいってことでそれ読んでいるらしいが
ここの人にもそれ読んでいる人いる?
2021/10/17(日) 20:11:52.85ID:LTEsEtXo
これか

The Dao of Functional Programming
https://github.com/BartoszMilewski/Publications/blob/master/TheDaoOfFP/DaoFP.pdf

圏論関係の内容だな
925デフォルトの名無しさん
垢版 |
2021/10/17(日) 20:37:14.39ID:DQz0YbVB
>>924
すまんリンク探させてしまってすまない
ワイが貼るべきやった
ワイは圏論わからないから読まずじまいだったわ
いつか圏論習得できたらその際に読もうかなって思ってる
2021/10/17(日) 21:08:39.75ID:LTEsEtXo
プログラミングの本質を学ぶには圏論について学ぶ必要があるということらしい
学んですぐ役立つというものではないようで、すぐ役立つ知識がお望みなら他をあたってくれ、とか
927デフォルトの名無しさん
垢版 |
2021/10/17(日) 23:35:51.47ID:QqhGhKAl
見せてもらおうか、圏論とやらを。
2021/10/18(月) 00:33:18.04ID:BIt/UTxD
>>924
同じ著者の

Category Theory for Programmers
https://github.com/hmemcpy/milewski-ctfp-pdf/releases
929デフォルトの名無しさん
垢版 |
2021/10/18(月) 02:49:04.06ID:mrfOLNSK
また圏論か
もういいよ
2021/10/18(月) 12:08:52.29ID:7GcdH/zA
さあ ねがいを いえ
2021/10/18(月) 15:15:47.20ID:r9t2S6+p
https://www.youtube.com/watch?v=E-48ent631o
https://bangumi.ouj.ac.jp/v4/bslife/detail/156936813.html
2021/10/22(金) 12:14:30.91ID:9P3eVRHd
Free monad とは何か? の、シンプルかつ的を射た説明がsrackoverflowにあった。
(John Wiegley の回答)
https://stackoverflow.com/questions/13352205/what-are-free-monads

これを読んでから他の色んなFree monadの記事を読むと、すんなり理解できる。

これ、本質がよく解っている人の回答だよね。
こんな格好良く回答ができるよう精進したい。
2021/10/22(金) 21:20:57.92
UTF-8 のHaskell ソースコードに書き込んだ日本語文字列を通信先に渡す為に Shift_JIS の String にしたいのですが


module Main where

import Data.Text.ICU.Convert as ICU
import Data.Text as T
import Data.ByteString.Char8 as BS

main :: IO ()
main = do
  conv <- open "Shift_JIS" Nothing
  let
    utf8txt = T.pack "皆は、赤ちゃんしゅきぃ?"
    sjis_bs = fromUnicode conv utf8txt

この sjis_bs をどうしたら Shift_JIS の String になるんですか?
BS.unpack だと
ツ皆ツづ債、ツ静板つソツづ。ツづアツつオツづ」ツつォツつ。ツ?
になってしまいます
934デフォルトの名無しさん
垢版 |
2021/10/22(金) 23:18:21.74ID:5ielnrPe
haskellってpythonに影響与えてるんやな
どおりで雰囲気似てる感じするんか
935デフォルトの名無しさん
垢版 |
2021/10/23(土) 01:09:52.51ID:o3xA5lbA
レイアウトと呼ばれるインデントスタイルは、Pythonが1991年に最初にリリースであり、85年以前にあった
Mirandaを参考に1990年にHaskellは登場したはず。
936デフォルトの名無しさん
垢版 |
2021/10/29(金) 12:55:32.45ID:SqmTIce6
不動点演算子がわからなくて泣ける
再帰呼び出しになってないのに再帰になってるのはわかるんだけど
2021/10/29(金) 18:35:44.90ID:ZN5Hp6rJ
>>936
何が分からないのか分からない
938デフォルトの名無しさん
垢版 |
2021/10/29(金) 18:40:46.51ID:uCUCIWXe
>>937
なんでわかるんや?
才能か?
後不動点定理がわからん
勉強しろって言われてるけど
2021/10/29(金) 20:05:05.45ID:1mMf/Evz
遅延評価の才能がないと x = f x を思いつかないんだよな
y f = f (y f) しか分からない
2021/10/29(金) 21:04:54.17ID:ZN5Hp6rJ
>>936 の何もかもが、こちらには分からない。
愚痴を言いたいだけなのか、それとも何か質問をしたいのか。
後者なら、質問内容は何か。

>>938
> 後不動点定理がわからん
それだけなら、勉強してくださいとしか言いようがない。

勉強しろと言われているのなら、何か資料が配られたり、
参考文献が挙げられたりしていないのか?
そういうのが既にあるのなら、取りあえず全てに当たって、
今分かる部分と分からない部分を徹底的に細かく仕訳してみればいいのでは?
2021/11/05(金) 06:38:08.04ID:UB8UVAT8
>>936
分からないのは何故再帰処理してるのかじゃなくて(そこは定義的に明らかだし)、
どうして無限ループせずに終了するのかでいいのかな
2021/11/14(日) 05:07:45.42ID:HK5ctRa0
やっと Monad クラスから return が消えるよ
まだ計画段階たけど
https://github.com/fumieval/Haskell-breaking-changes
2021/11/14(日) 21:26:09.61ID:bsdXePE0
なんで消すの?
2021/11/15(月) 02:14:35.96ID:jBQU3T8q
>>943
Applicativeクラスにpure関数があるから。
Monad則やApplicative則を満たしてるなら、
まず間違いなく pure = return だから片方で充分。

それにreturnって名前があまりに実態とかけ離れてるしね。
2021/11/15(月) 12:46:13.83ID:KyLp+2Ep
初歩的な質問ですが、複数の設定ファイル読み込みするのに
readFile で全体取得してから処理するのと
withFile で hGetLine しながら処理するのではどちらがいいとかありますか?
主に処理速度の点について聞きたいです。
2021/11/15(月) 18:22:40.27ID:W9vQbDtp
>>945
そういうのは、自分で実験すればすぐに確かめられるのでは?
2021/11/15(月) 21:51:56.85ID:NLyY6NK4
>>944
Applicativeにpureがあるのはなんで?
Monadのreturnだけにするのは変ですか?
零元がApplicativeの責務なのがピンときてないんです。Monadだと何と合わないんでしょう
2021/11/16(火) 02:22:00.49ID:EE8p/B0u
>>947
できるだけ一次情報に当たりましょう。
>>942 のリンク先の Planned: remove return from Monad の項目の
Proposal のリンク先を読んで下さい。
(更にその先の dudcusdion なども)
それが最も正確で、かつ、分かりやすいです。
2021/11/16(火) 21:38:06.78ID:au51kzu/
正確に綴ってくれ
2021/11/16(火) 22:40:31.75ID:t6DDIn3B
読んでみたけどよくわかんないなあ。AMPを満たすためにApplicative m => Monad mが必要ってことは書いてあるようだけど
Monadからreturnを削除して、pureに統一する理由って書いてあるかな?
読み飛ばしたかもしれんけど。

return = pureだから、統一しても同じっていうのは分かるんだけど、Applicativeにpureが必要な理由がわからない。
Applicativeの4つのルールを満たすためにpureが必要なことは、Applicativeの定義に書いてあるけど、圏論わかんないから、このルールが何で必要なのか分からん。

Monoidal Functor?とかいうやつの表現のために単位元(零元じゃなかったね)が必要なんだろうけど、圏論わからんないから分からん。

Monoidと関係あるんだろうか。それなら加法のために単位元が必要なのはわかるんだけど。
2021/11/16(火) 22:42:08.60ID:t6DDIn3B
誰か噛み砕いて教えて下さい
2021/11/17(水) 06:46:33.09ID:4zMdVbrs
より抽象度の高い方であるApplicativeのpureを生かすのは
私はごく自然に感じるけど

mappendと<>も機能的にダブってるから
将来Monoidからmappendが消えるよって
Monoidのドキュメントに書いてあるけど
もしかしてそれも疑問だったりする?

Semigroupの方から<>を消して、
Monoidのmappendを残すんじゃダメなの? って
2021/11/17(水) 08:05:13.47ID:fLzDfeGp
>>950
圏論は一切関係なく、いかに誤りの無いプログラムが書けるか、
またソースコードが読みやすくなるかという実用的な理由です。
そういう観点でもう一度読んでみてください。

Haskellは実用的な汎用プログラミング言語であることを目指して作られました。
なので、今回のような理由での提案は個人的にはすごく納得できるし、大賛成です。
2021/11/17(水) 12:44:32.78ID:f9gix7Cx
コメントありがとです。
Semigroupは半群、Monoidは単位元付きの半群ですよね。
言われてみると、<>に統一してmappendは消しても自然な気がする。
すごいHでログ文字列がmappendで追加されていく、サンプルを読んだことがあるので、Monoidは受け入れやすいんです。
Semigroupに単位元がないことは不思議に思わないです。半群というものを聞いたことがあったのと、
ログの例に戻ると、文字列なしのログはありえないと考えれば、単位元がないMonoidがあってもあまり不思議に思わないです。

言ってることが上と変わってきてるかもしれないですが、Applicativeが不思議に思うのは、ここに単位元?(というか単位元を生成する)pureがあること。
Applicativeの結合<*>って持ち上げられた型だけで構成されてます: f (a -> b) -> f a -> f b。
圏論何も知らないで言いますが、単位元pureは持ち上げられた型f aが自然な気がするんです。a -> f aではなく。
雰囲気でそう感じてるだけですが。

そんでもって、a -> f aが登場するのって、Monad.(>>=)だよなあってことで、だったら、returnがMonadにあるのは自然なんじゃないかな、と思うわけです。
そうすると、pureってなんのためにあるんだろう。同じ型ならMonadだけあるほうが自然だなと感じたわけです。

たぶんこれは圏論を知っていれば、変に思わないのかなと思って、そう言ったわけです。
推敲できてない感ありますが、伝わりますかね?
2021/11/17(水) 12:50:22.84ID:f9gix7Cx
ちなみに自分は、自分の価値観に反してるから却下すべきだと言ってるのではなくて、
どうしてこういう構造が正しいの?実際の理論やコードでの利用例に照らしてどんな利点や意味があるのと知りたいだけです。
2021/11/17(水) 15:59:19.97ID:oGkdvxh0
そもそもapplicativeなるものが数学の圏論的に何意味するかよくわからんのだよな
monadの方はwikiのmonad (category theory)の項があってキッチリ解説されてるし

https://en.m.wikipedia.org/wiki/Monad_(category_theory)

Tがcategory C上のmonadであるときfmap Tをμ。η_Tで定めればコレがfunctor C→Cを定義するのもわかるんだけど、applicativeについておんなじような解説が中々見当たらない
どっかでDescartes closed categoryがどうたらいうのを見た事あるんだけど誰か知りません?
2021/11/17(水) 16:59:55.76ID:fpCU2YNN
「アプリカティブ関手はモノイド圏における強laxモノイド関手だよ、何か問題でも?」
https://blog.miz-ar.info/2018/12/applicative-functor/
2021/11/17(水) 17:27:50.45ID:f9gix7Cx
>>956
多分これの概要部分は見てるんですよね。
https://en.m.wikipedia.org/wiki/Applicative_functor
後ろの方はさておき、概要部分は自分はさっぱりでしたが。
959デフォルトの名無しさん
垢版 |
2021/11/30(火) 20:23:52.94ID:SegqCGCa
haskell勉強しようかなって思ってるんですけどおすすめ書籍ってなにかありませんか?
ちなみにocamlでプログラム書いたことあります
型システム入門を原文で7割ほど読破しました
ちなみに大学受験の数学はそこそこ自信あります
一階述語論理の記号扱って解いていました
圏論の知識はありません
960デフォルトの名無しさん
垢版 |
2021/11/30(火) 20:27:04.88ID:SegqCGCa
ちなみにモナドは日本語版wikipediaの記事を読んだのみです
型クラスはわかります
MaybeまではわかりましたがIOモナドで躓きました
ocamlとは違って参照型がない言語だってことは意外に思いました
2021/12/02(木) 00:19:03.82ID:c82IwjxK
(>>=)がただのデータコンストラクタだったらモナドはただの構文木なのに

data M b = Bind (M a) (a -> M b) | ...

みたいな定義ができない型システムだから
代数的データ型を使わないでラムダをたくさん使うことになってみんな躓く
2021/12/02(木) 13:13:42.19ID:kpMV/tat
そりゃそうやろ?
データコンストラクタと展開されるべき関数の違いをプログラマが指定しなければ処理系は与えられたexpressionをどこまで展開すべきか決定できんやろ?
2021/12/02(木) 14:49:59.14ID:ISSe07L0
>>959
Haskellを始める前に仕入れたそのような知識やOCamlの経験が、
Haskellの学習にいったいどんな影響を与えるのか、
楽にするのか、それとも邪魔にしかならないのか、正直まったく分からん。
Haskellで何をしたいのか、目的や目標も分からんし。

なので、Haskell入門者という観点だけで次の2点をすすめる。

さっと要点を学んで早くアプリを作り始めたいのなら、薄い入門書で十分。
「Learn You a Haskell for Great Good!」
が良いと思う。

ガッツリ学びたい、かつ、時間と根気があるのなら、
「Haskell Programming from first principles」
がおすすめ。

詳しくはどちらも公式サイトを参照して。

なにで学習するにしても、手や頭を動かす(プログラミングする)のが主で、
本やドキュメントを読むのは従であることを忘れずに。
964デフォルトの名無しさん
垢版 |
2021/12/02(木) 17:56:37.45ID:35Q5ApkZ
>>963
すみません
関数型言語って敷居が高そうなイメージあってやるにはある程度数学の素養が求められるのかなって思っていろいろ自分なりの知識があるところ挙げてみました
特に型システム入門は型推論の理論とか分かっていたほうがいいのかなと思って読んでいました
まずはLearn youの方を読んで見ようと思います
ありがとうございました
2021/12/02(木) 20:33:40.95ID:c82IwjxK
>>962
ただし、IOモナドは「展開」できない方がいい
そうすれば処理系がexpressionをどれだけ「展開」しても副作用がない
2021/12/14(火) 12:11:46.65ID:78Ep1iUH
あの伝説の岡部健が復活!!
https://twitter.com/ken74047924


(おまけ情報)
Quoraでも有名だった岡部健、2021年12月にTwitterのアカウントまたまた永久凍結される。
当時のアーカイブは多少ネットに残ってるらしい

https://twitter.com/KenSmooth5
https://i.imgur.com/Ws4RM1o.png
https://twitter.com/5chan_nel (5ch newer account)
2021/12/14(火) 12:13:53.75ID:l8dEnSpn
毛の壁から国民を守る党 72議席目
https://lavender.5ch.net/test/read.cgi/net/1615613906/
968デフォルトの名無しさん
垢版 |
2021/12/14(火) 12:34:07.62ID:iFoIKYew
IQ145の人?
2021/12/14(火) 12:57:57.79ID:IE9oyXDX
>>968
よく覚えてるな
最近はkensmoothってアカウントを連番で取得して、ネトウヨムーブを連発してたんだけど全部凍結されて今のアカウントになってる
あのネトウヨ投稿はなんだったんだろう
2021/12/14(火) 17:15:27.20ID:Ad592Fxk
>>966
うわあ
971デフォルトの名無しさん
垢版 |
2021/12/14(火) 17:39:35.08ID:iFoIKYew
>>966
なにこの一覧
2021/12/14(火) 18:35:50.33ID:SgMFGeMD
岡部健、Twitter再開してたのねw
Newbieとはご無沙汰してたから知らんかったわw
973デフォルトの名無しさん
垢版 |
2021/12/14(火) 19:46:12.10ID:oL+i1N1M
ツイッター再開おめでとうございます!
来年はべーやんの年になる!
と良いですね!
2021/12/14(火) 22:17:24.22ID:8Kmj5/YX
>>966
こはひどい
2021/12/14(火) 22:19:44.63ID:3V9aUzHV
岡部の最近凍結されたアカウントのツイートみっけた

https://archive.ph/7pepg
976デフォルトの名無しさん
垢版 |
2021/12/14(火) 22:22:42.89ID:oL+i1N1M
べーやんは論客なんだな。
2021/12/14(火) 22:38:20.35ID:sz+GbZW0
UCLAを卒業したという話は封印したみたいね
なぜ?
978デフォルトの名無しさん
垢版 |
2021/12/14(火) 22:53:00.93ID:oL+i1N1M
たまたまでは?
979デフォルトの名無しさん
垢版 |
2021/12/14(火) 23:06:41.51ID:dwtzMOq3
Quoraでいろいろ回答しているがモナドの解説は見事だぞ
2021/12/14(火) 23:16:06.08ID:NLEjPnNU
こんな話で勢いづいてるんじゃないよ君ら
981デフォルトの名無しさん
垢版 |
2021/12/14(火) 23:42:04.31ID:iFoIKYew
>>979
ハラデイ
982デフォルトの名無しさん
垢版 |
2021/12/15(水) 00:16:47.05ID:Xb4w9/yA
「モナドについて学んでいるのですが、mapやflatMapは圏論ではどの概念にあたるのですか?」
具体的に例示していてわかりやすい。
2021/12/15(水) 07:25:32.70ID:/l12wr0Z
嘘つきケンちゃん、相変わらずですねww
久々にわたくしも腹筋がミシミシと鍛えられました
しばらくわたくしも加勢いたします
984デフォルトの名無しさん
垢版 |
2021/12/15(水) 08:55:33.56ID:fP8nqGj3
Hugs> take 10 fibs where fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
[0,1,1,2,3,5,8,13,21,34]

GHCi
Prelude> take 10 fibs where fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
<interactive>:6:14: error: parse error on input ‘where’
言語仕様が微妙に異なる?

オレメモ、バッチファイル
stack ghci
を目的のディレクトリ下(例、e:\haskell)に作ってディスクトップにはバッチファイルへのリンクを作っておくと
ghci起動後カーソルが消えない

貴重なHaskellスレがもう過ぐ1000行く
985デフォルトの名無しさん
垢版 |
2021/12/15(水) 10:41:42.68ID:BDga5vqT
>>966
ぎゃっはっはっはっは
986デフォルトの名無しさん
垢版 |
2021/12/16(木) 08:29:00.48ID:kVJbCKwy
令和の時代に毛の壁ふたたび
987デフォルトの名無しさん
垢版 |
2021/12/16(木) 21:29:13.60ID:k4b05O9+
自分でキャラ演出してるだろ
988デフォルトの名無しさん
垢版 |
2021/12/16(木) 21:38:27.93ID:Y2CVy/MB
https://togetter.com/li/773846
ちょまど氏が首突っ込んでるけど、社名背負ってよくこんな書き込み出来るもんだと、驚いた。
989デフォルトの名無しさん
垢版 |
2021/12/16(木) 21:46:42.96ID:OBc86cw8
他の人も叩いているから便乗して死体蹴りしようか的な精神が見て取れる
2021/12/16(木) 21:55:44.07ID:iDMhxZSI
>>988
毛の壁氏、ですか、なつかしいですね
991デフォルトの名無しさん
垢版 |
2021/12/16(木) 21:55:47.51ID:Y2CVy/MB
それはマイクロソフト社の公式見解ですか?って突っ込み入れて欲しいわ。
992デフォルトの名無しさん
垢版 |
2021/12/16(木) 22:06:47.71ID:Y2CVy/MB
教祖だの洗脳だの言いがかりも甚だしいし、「学術的な真理ではないし」云々という自身の書き込みがそのままブーメランだと思うけど。
これを社名背負ってやるんだから頭おかしいわ。
993デフォルトの名無しさん
垢版 |
2021/12/16(木) 22:08:34.93ID:OBc86cw8
誰か次スレ立てろよ
994デフォルトの名無しさん
垢版 |
2021/12/16(木) 22:42:52.47ID:k4b05O9+
結局モナドってなんなのかわからんということにすべて起因してる希ガス
話題になってからもう二十年くらい立つのに結論でないし、数学者でもない限り一生わからんのだろうな
995デフォルトの名無しさん
垢版 |
2021/12/17(金) 13:01:29.30ID:NPioGyUL
新スレを立てました。当スレ(Part33)が埋まってからの利用をお願いします。

関数型プログラミング言語Haskell Part34
https://mevius.5ch.net/test/read.cgi/tech/1639713446/
996デフォルトの名無しさん
垢版 |
2021/12/18(土) 00:42:46.36ID:om0zr0Am
>>994
結論だせる個人は存在するけど
組織になるとなぜか、結論だせない奴が代表者を気取ってるだけじゃん
997デフォルトの名無しさん
垢版 |
2021/12/18(土) 11:05:05.98ID:1fj0JYV9
>>996
結論出せる個人て岡部氏のことっしょ?
そういう勢いでどうこうじゃなくって皆を納得させるような結論はないっていうこと
998デフォルトの名無しさん
垢版 |
2021/12/18(土) 11:23:52.39ID:9ehaErM5
納得が遅い
999デフォルトの名無しさん
垢版 |
2021/12/20(月) 09:52:36.40ID:ZumN5JOf
https://qiita.com/mod_poppo/items/a6317294ba1e39b1c3b3

コメント欄に毛の壁現る。
1000デフォルトの名無しさん
垢版 |
2021/12/20(月) 09:52:54.51ID:ZumN5JOf
また誹謗中傷してるので通報よろ
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 678日 15時間 35分 18秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況