- 1 名前:デフォルトの名無しさん [2020/02/10(月) 18:17:36 ID:L6eYQqyh.net]
- 関数型プログラミング言語 Haskell について語るスレです。
Haskell Language(公式サイト) https://www.haskell.org/ 日本Haskellユーザーグループ - Haskell-jp https://haskell.jp/ 前スレ 関数型プログラミング言語Haskell Part32 https://mevius.5ch.net/test/read.cgi/tech/1548720347/
- 67 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 16:09:50.75 ID:RWnXSfHI.net]
- Haskellって勉強しておくといいことある?
- 68 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 19:26:27 ID:Irxv1x7O.net]
- Haskell自体はクソの役にも立たないが、Haskellを勉強すると実用言語でプログラミングする際のコードが劇的に綺麗になる
- 69 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 19:37:30 ID:V4QUinUk.net]
- 綺麗になるんじゃなくてHaskellerにとって読みやすいコードを練成できるようになるだけでは
- 70 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 20:35:55.95 .net]
- 数年ぶりにハスケルやったらタブはやめろって明言してくるようになっててわろうたww
- 71 名前:デフォルトの名無しさん [2020/03/26(木) 20:45:53 ID:ylVms19z.net]
- Haskellerにとって読みやすいコードわかる
MonadだのApplicativeだのを無理に再現しようとして でも型システムがへぼいから限界あって買いてる方も楽しくないし 読む方の辛さは言わずもがなだしで誰も幸せにならない
- 72 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 23:26:28.22 ID:yOeobzsz.net]
- 他言語よりも深く考察され美しくまとまった言語上の概念がものすごく多数ある
抽象的な概念が他の言語より圧倒的に多くて、プログラミング言語全般についての理解を深めるのにとても役に立つ 比較的習得難易度の高いrust等の言語や、今後出てくるであろう新手の言語等も、haskellを知っていれば習得が容易になったり、深く理解して議論できるようになったりすると思う 実用アプリ作りたいだけならあんまやる必要ない
- 73 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 01:37:52.01 ID:HVPmfsVI.net]
- モナドの説明見て一気に嫌になったな・・
結局書き換えをよしとするなら純粋関数型なんて言うのやめろよと 破壊操作無くしてまともにコードが書けないってことがわかってるなら最初からそのようにしておけと どう言う目的で作った言語なのか知らないけど読めば読むほどイライラするねこれ 現実は酷いけど理想だけが飾り立てられているという印象
- 74 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 06:43:54 ID:ciiZuz5Z.net]
- その批判は勉強不足という感じ
- 75 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 07:23:52.96 ID:7fKLUCpq.net]
- そんなに間違ってはないけどな。
haskellの解釈としては「命令列」を構成して返しているから副作用はない! 副作用を起こしているのは実行系だ! みたいな屁理屈だし。
- 76 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 10:39:34 ID:gM1jKcLP.net]
- >>74
それhaskellの説明になってなくね?
- 77 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 11:19:04.85 ID:7fKLUCpq.net]
- haskellの評価順序を考えた場合、そう解釈する以外ないと思うが。
他の説明があるなら聞きたいとこだよ。
- 78 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 12:07:06 ID:gM1jKcLP.net]
- >>76
もう少し詳しくたのむ 評価順序を考えたらどうして命令列になんの?
- 79 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 12:12:13 ID:gM1jKcLP.net]
- 評価順序ってのは遅延評価のことか
doのことかもよくわからん
- 80 名前:デフォルトの名無しさん [2020/03/27(金) 12:16:47 ID:1lYTVmI1.net]
- >結局書き換えをよしとするなら純粋関数型なんて言うのやめろよと
>破壊操作無くしてまともにコードが書けないってことがわかってるなら最初からそのようにしておけと その批判はやや的外れ 誤解してる人が多いけど、Haskellは別に破壊的代入含む非純粋な計算を禁止しようとしてるのではない Haskellのやろうとしてるのは、純粋な計算と非純粋な計算を型システムにおいてコンパイラが区別できるようにすることだけだぞ
- 81 名前:デフォルトの名無しさん [2020/03/27(金) 12:26:56.96 ID:1lYTVmI1.net]
- というか正直モナドなんかそんな何回も何回も繰り返し議論の対象にするほどのもんでもないだろ…
HaskellスレなんだからHaskellerだけでもっとHaskellらしい話題がしたいのに、 定期的にHapkeller以外がきて水差してくよな 他の手続き方言語のスレでわざわざその言語よく知らない奴が来てifとかforの話を延々されたらどんな気分よ
- 82 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 13:41:08 ID:gM1jKcLP.net]
- >>74は正しいの?
- 83 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 16:03:17.87 ID:bZjh3B7N.net]
- 正しいよ
- 84 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 17:41:48 ID:IjRdCSk7.net]
- - Haskell自体はクソの役にも立たないが、
- 実用アプリ作りたいだけならあんまやる必要ない 何故だい? プログラミング言語なんてただの道具じゃないか。Haskellで良いプログラムが 書けるなら、使うべきなんだ。 『普通のやつらの上をいけ』!『普通のやつらの上をいけ』!
- 85 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 17:56:54 ID:gM1jKcLP.net]
- >>82
説明頼む 命令列って何なの?
- 86 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 18:46:42.72 ID:inQsOLrL.net]
- IO a は State# RealWorld -> (# State# RealWorld, a #) を newtypeしたものだって話じゃないか?
命令列っていうのはState# RealWorldの列ってことだろ、多分
- 87 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 18:50:49.13 ID:inQsOLrL.net]
- 言語ではState# RealWorldの列だけ作って副作用ないけど
処理系がState# RealWorldの列を一気にフラッシュしてるから 処理系レベルでは副作用が出るって事だろ
- 88 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 19:23:16 ID:7fKLUCpq.net]
- 大体そんな感じ。
IO を返す関数が「副作用をもたない」と解釈するとしたらそう考えるしかない。 とはいえ、IO が発生する関数とそうでない関数をちゃんと分けていい感じに使うって 発想は他の言語でも役に立つ考えだからそこはいいと思う。
- 89 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 19:40:29 ID:US1WE8+5.net]
- >>83
目的は良いプログラムを書くことではなく役に立つプログラムを書くことだろう お前のようにそこを履き違えてる奴が多いからHaskellがいつまでもクソの役にも立たないと言われ続けるんだよ
- 90 名前:デフォルトの名無しさん [2020/03/27(金) 19:46:20 ID:adWh10vX.net]
- まともなHaskellのテキストがIO返す関数に対して副作用がないなんて書いてるの見たことないけど…
- 91 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 19:49:25 ID:bZjh3B7N.net]
- >>84
IOアクションのことやろ
- 92 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 19:58:51.05 ID:inQsOLrL.net]
- realworld Haskellって本のrealworldってghc におけるIOモナドの実装のこと言ってて
モナドの説明で度々出てくる『文脈』っていうのもその命令列のことだと理解してるんだが どんなもん?
- 93 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 20:03:05.86 ID:EYGPwzDC.net]
- そんな難しく考えなくても計算機に与える命令のつらなりってことじゃないの?
命令には純粋っぽい命令とそうでない命令があるけど、計算(評価)前ならどんな命令だろうが単なる値だから副作用もへったくれもないって理屈じゃね 実際はメモリー上の命令は全て状態だけど、書き換えられないように管理すれば純粋とみなせるってことだろ 例えば、 1+2*2^2^-1+3*3^3^-1 という式を考えた場合、これ全体を値として捉えることもできる 実際値として使おうとすると+、*、^の部分を命令として評価しないといけないけど、使い方によっては全部評価する必要はない これに10足したかったら 11+2*2^2^-1+3*3^3^-1 で済ますこともできる これを小数点以下10桁まで表示したくなった時、必要な桁まで計算(評価)すれば良い ‭18.1551758356… Haskellの基本的な考え方はこういうことでしょ
- 94 名前:デフォルトの名無しさん [2020/03/27(金) 20:16:36 ID:adWh10vX.net]
- まずはっきりさせておきたいが、Haskellのテキストで
「命令列」なるものは出てこんし誰もそんなものを使ってモナドを説明しようとしてない。 あくまで「命令列」とは、>>74が自身でモナドを理解するために有用な概念だと見出し定義した用語と考えるべきだ だからここで有意義な議論がしたいなら、まず目的を確認する必要がある。 我々は>>74さんの頭の中を理解したいのか? それともモナドに対してより良い理解を形成したいのか?
- 95 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 20:19:07 ID:inQsOLrL.net]
- 遅延評価と考え方は似てると思う。状態の受け渡しとかが出てきてこんがらがる
- 96 名前:デフォルトの名無しさん [2020/03/27(金) 20:21:43 ID:inQsOLrL.net]
- >>93
自分も>>74の理解で問題ないと思うんだよ
- 97 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 20:47:16.26 ID:oRj/lH5B.net]
- IOモナドに副作用を追いやれることがどれくらい良いことなのかを議論するのは悪くないと思うけど、
副作用が無いなんて嘘付き!とかそもそもプログラムってのは副作用の塊だ!っていうのは誤解か誤読かフカシに騙されたかのどれかなので楽しくない話になる、と思う
- 98 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 20:49:07.27 ID:duAJ897u.net]
- 関数型と手続き型は共存するべき
関数型はマクロの性質を持っている
- 99 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 21:16:36.28 ID:7fKLUCpq.net]
- >>93
別に厳密に何か言ってるわけでもないからあんたの思ってる通りでええよ。 ただの解釈だからこだわらずに勝手に理解したらいいさ。
- 100 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 21:17:09.88 .net]
- 言語設計者じゃなければ難しいこと考える必要なんてないんだ。ただの Haskell ユーザだろ?
(Haskellの)モナドは Haskell という基盤上で動作するDSLプラットフォームだよ。 各々が Haskell 上で動作するオレオレ言語を作れるんだ。 だから一度それを走らせれば、その中に他人の言語が干渉することはできない。 C++を書いてる途中でJavaコードを直接混ぜることは許されないというトートロジー。 他のDSLとはポートを作ってそこでデータを輸出入する (Haskellの)モナドはC++コードにJavaコードが混ざらない事を保証してくれる そういうイメージ (Haskellの)モナドのライブラリには、その設計者の思想によるDSLの書き方がある。 それを知らずに型とだけ睨めっこしててもIQテストだよ
- 101 名前:デフォルトの名無しさん [2020/03/27(金) 21:54:14 ID:62v2q1lB.net]
- >>96
Haskellの解説本・サイトは「副作用のないプログラミング!」のように喧伝し、 副作用がまるで悪いものであるかのように誤認させているからな。 医薬品の副作用は意図しない有害な作用なので避けるべきだが、プログラム言語の 副作用は数学的な意味で関数とは言えないだけで、意図した有益な作用だから何の 問題
- 102 名前:烽ネい。副作用があろうとなかろうと、関連が深い処理をまとめて記述する
手続き型言語の方が使いやすい。 純粋関数型なんて実用性が大きく劣る。ラムダ関数や高階関数など関数型の おいしい所だけ手続き型に取り入れるのが賢明。 [] - [ここ壊れてます]
- 103 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 22:59:10.30 ID:adWh10vX.net]
- >>100
うん。だからあなたは純粋関数型なんて実用性が大きく劣るものなんか使わず あなたの好きな手続き型の言語で実用的なプログラム書いてればいいじゃん。 その言語のスレにいってその言語の好きなところとか新しく出てきたすごい機能とかの 話題で盛り上がったほうがよほど生産的ではなくて? わざわざこんなスレにツバかける来る暇があったらさあ。
- 104 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 23:33:11 ID:gM1jKcLP.net]
- >>93
おれも同意だね ここに限らず命令列、指令書みたいなメタファーで説明しようとするやついるけど 初学者にとって全く理解の助けにならない プログラミング言語を説明するのに命令列って説明になってない worldの考え方とモナドによる隠蔽で説明した方が理解しやすい
- 105 名前:デフォルトの名無しさん [2020/03/27(金) 23:51:09 ID:bDbxDlCw.net]
- Mワードは控えようね!
- 106 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 09:17:26 ID:HVNiklPA.net]
- 実装に依存するな、メタファーに依存しろ
こういうのって実装はコロコロ変わるがメタファーは不変という前提なんだよね 前提が崩れたらやっぱり実装に依存する方が正解だったことになる
- 107 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 11:10:45 ID:qGbN9Cxf.net]
- モナドに関しては、モナドというインターフェースを実装しとけばそのデータはdo記法という特殊構文に対応する
ぐらいの説明でいい IOモナドに関しても、world云々とかioモナドの実装とか知らなくても問題ない IOアクションをdo記法で組み合わせて手続型言語風の書き方を再現できることだけ知ってれば良い
- 108 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 12:07:59 ID:6h+JM2Gw.net]
- >>88
ハァ? じゃあ役に立つプログラムを書けばいい 良い/役に立つはどう違うか、説明できないだろ 雰囲気で誤魔化せると思っているお前みたいなアホが真の元凶 良いプログラムが役に立つプログラムと無関係なら、良いなんて指標は何の役にも立たん Haskellで役に立つプログラムをお前が書け それができないならせめて、何が足りないのか言え
- 109 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 12:16:59 ID:6h+JM2Gw.net]
- このスレだけでなくあちこちに、"悟り派"が蔓延ってるのにそろそろ一言言っておくぞ
悟り派は、Haskellで悟りを得て自分の言語に持ち帰る そして自分の製品のなかに不完全なHaskellのサブセットを作ってブーたれる。やれ遅延評価がない、モナドがない… そんなんするくらいなら最初からHaskellで書けや 新規の参入、それ自体はいいことだが…
- 110 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 12:38:06 ID:6h+JM2Gw.net]
- >>104
IOアクションの命令書のメタファーは登場した当初から変わってないでしょう >>102 指令書のメタファーは初学者にとって助けにならない? そうかな、わかりやすいと思ったけど RealWorld の State 、って説明はこっちはこっちで腑に落ちたし >>92 の解説は、自分はなんか違和感を持ったが… うまく反論できない
- 111 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 12:40:02 ID:HVNiklPA.net]
- >>107
雑種のことをハーフとか不完全とか言うやつは悟りが足りない むしろ二倍
- 112 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 12:53:14 ID:6h+JM2Gw.net]
- >>101
「ついてこれないならついてこなくていい」スタイルもどうかと思うぞ そんなんやってたら、いずれ砂漠になっちまう ただでさえスレッドが一週間止まるなんてざらにある現状なのに >>100 > 副作用があろうとなかろうと、関連が深い処理をまとめて記述する手続き型の方が使いやすい Haskell はモナドの do 構文を通して手続きをサポートする。手続き型言語でもある 副作用の有無に関わらず処理をモジュールにまとめることはできる むしろ入出力が型に明に表れるので通信的凝集などの高凝集なモジュール分けに自然になりやすい ただそれと引き換えに、ラフに、スケッチ的にプログラミングするのがやりにくい これは原理的なトレードオフではないと思うが、少なくとも現時点ではそうだ
- 113 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 13:03:17 ID:6h+JM2Gw.net]
- >>109
(雑種って言い方がすでに汚ねぇ) 人種にするみたいに、思想に文句をつけてるわけじゃなくてだな… プログラマー全体の仕事の総量は増えてるってことを批判してる。非効率
- 114 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 13:20:53.69 ID:O2QL6TTJ.net]
- >>107
悟り派はそんな面倒なことしません。 他の言語に移るだけです。
- 115 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 13:39:06.65 ID:6h+JM2Gw.net]
- >>112
そんな面倒なこと? Haskell風ライブラリを作ることか? それとも最初からHaskellでやること? 後者だとすれば何がボトルネックになっているのか
- 116 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 13:51:46.86 ID:HVNiklPA.net]
- 言語仕様はよいよね
実装はどこがよいのかさっぱりわからんが、知らなくても問題ないと言われる
- 117 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 14:01:08.48 ID:sKmY04JT.net]
- なら、F#でいいと思います。
副作用もあるし、コンピューテーション式もあるよ。
- 118 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 14:02:43.23 ID:6h+JM2Gw.net]
- >>114
どこが悪いのかも同じようにわからない、って解釈でいいかな
- 119 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 14:06:58.93 ID:6h+JM2Gw.net]
- >>115
ふむ、それらがあった方が Haskell よりも良い――その理由を説明してほしい Haskell サイドに取り入れられるかもしれない
- 120 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 14:08:13.75 ID:qGbN9Cxf.net]
- なんかギルガメッシュいてワロタ
雑種!!!
- 121 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 14:18:52 ID:6h+JM2Gw.net]
- >>118
突然妙なことを言い出したので、釣られて笑ってしまった ギルガメッシュってなに?
- 122 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 20:36:56 ID:+/sFre8I.net]
- Haskellの仕様=ゲートオブバビロンかよ
- 123 名前:デフォルトの名無しさん [2020/03/29(日) 21:28:27.32 ID:AoSt3bhf.net]
- Haskellの理解に圏論は必要ないとよく言われるけど、
End/Coend勉強したらHaskellのポリモーフィズムとか 存在型のことがよくわかったし、 コモナドとか余代数は圏論的理解しといた方が絶対にいいなと思った 今はKan拡張に挑戦中だわ
- 124 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 21:37:39.83 ID:i8zPSo78.net]
- なにで勉強してるの?
- 125 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 21:42:16.37 ID:dETyGOxM.net]
- >>121
理解が何を指しているかによる haskellでwebアプリやゲームを作ることができる というのが理解の指標なら、圏論は知らなくてもいい
- 126 名前:デフォルトの名無しさん [2020/03/29(日) 21:46:33.53 ID:AoSt3bhf.net]
- >>123
ekmettのライブラリとかHaskellの型システムを強化する言語拡張など、高度に抽象的なコンストラクションがどういう意図で作られていてどういう場面で役に立つのか
- 127 名前:デフォルトの名無しさん [2020/03/30(月) 04:34:10 ID:BWxPCUH7.net]
- >>121
うい。 知ってた方が良いけど、知らなくても使えはする。 むしろ最近はHaskellより圏論に興味が移ってる。 (Haskellやその他の言語はその理論の確認用)
- 128 名前:デフォルトの名無しさん [2020/03/30(月) 04:43:23.39 ID:BWxPCUH7.net]
- >>66
手続き型言語と数学の関連性が見える様になると、数学的に正しい=バグが無いプログラムを書けるようになる。 だったら数学(特に圏論)だけで良いんだけど、ほぼ数学なHaskellで実際に動かして手続き型言語と数学の共通点を確認出来る。
- 129 名前:デフォルトの名無しさん [2020/03/30(月) 04:50:50.17 ID:BWxPCUH7.net]
- モナドについてはDSLと言うのは言い得て妙で、mainはIO ()を得るために式を展開する。
その過程で副作用を含む式が動き出す。 個人的にはHaskellは副作用は有るが、参照透明性は崩れていないと言うのがHaskellが純粋関数型言語を主張する根拠なのだと思う。
- 130 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 05:26:16.39 ID:RViSHasz.net]
- アプリを作ることに限れば、圏論の触り部分すら知らなくても問題ない。
C#やJava、Pythonは大して深く理解していない入門を抜けたばかりの人でも、 アドバイスを受けながら一通りアプリを完成させられるでしょ。 未知の必要なライブラリも本やドキュメントを読んで使い方を学べるでしょ。 haskellもまったく同じ。 入門を抜けたらすぐにアプリを作れる(し、そうすべきだと個人的には思う)。 そこに圏論の知識は微塵も要らない。 圏論の知識が活きるのは意味論をしっかり考える時だ。 **に圏論が役立ったよ、圏論のおかげで**が理解できたよと言っている人は、 意識的にせよ無意識的にせよ、その**の意味論を考えてたのではないか。 それ自体は素晴らしいことだと思う。 でもそこまでの深い理解がなくても実用的なアプリは問題なく作れる。 因みに、バグを減らすのにも圏論の知識は必要ない。
- 131 名前:デフォルトの名無しさん [2020/03/30(月) 07:45:32.21 ID:b0eBXbnt.net]
- HaskellをやってるうちにHaskellの魅力に気づいて
Haskellで何かを作るよりもHaskellという言語自体のことをもっと深く知りたくなることもあるだろ そう言う場合に圏論は最良の選択だよ 俺としては、Haskellでアプリを作るためにはまあ圏論を知らなくてもいいと思うけど、 圏論を勉強すれば、より高い視点から見えるものもある 必須じゃないが、苦労して圏論を学んだボーナスだな
- 132 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 09:41:29 ID:rvpoYgUk.net]
- モナドがらみだとF#のコンピューテーション式使って
async定義されてるらしいな ちょっと、モナド凄いと思ってしまった 裏で共通作業をするって意味なら分からなくはないけど、 その仕掛けは気になる F# vNext は何が "ヤバい" のか: Monadic Programming の新時代 https://qiita.com/cannorin/items/1936faded610c3ab6c18
- 133 名前:デフォルトの名無しさん [2020/03/30(月) 18:05:04.07 ID:Dztwglzx.net]
- 型クラスとインターフェースがなんとなく似てるので、
型クラスのようなことをインターフェースでまねしようとしてなんか違う…ってなってたけど、やっとなぜなのかわかった インターフェース(クラスポリモーフィズム)って、そもそも型クラスとは全く別物で、むしろ存在型の一例になってるだな やっぱり型クラスは型クラスで、型クラスのない言語でこ対応物なんてなかったんや
- 134 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 21:57:05.25 ID:6PZKu5o5.net]
- このゲームAIのコンテストにHaskellで参加して優勝してHaskellの強さを見せつけてやれ!
https://www.codingame.com/contests/ocean-of-code/leaderboard/global?column=LANGUAGE&value=Haskell
- 135 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 00:52:19 ID:K6rzEVwz.net]
- ハスケラが目的のあるプログラミングなんてやるわけないじゃん
- 136 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 11:43:52.10 ID:0EnDwwx5.net]
- 目的はお金でも知識でもいいよ
例えばお金自体が目的だったらそのお金が無駄に多過ぎるんじゃないかとか心配する必要はない
- 137 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 13:19:45 ID:OTxurRkT.net]
- お金、知識でもいいけど
たいていは俺すげーしたいだけだから問題。
- 138 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 13:55:00.32 ID:0EnDwwx5.net]
- 事前に目的を決めても「俺すげーしたいだけ」とかいう真の目的が後から出てくる
事前に嘘をついていたことか問題だと思えば沈黙が正解 だが隠し事をしていたことが問題だと思えば沈黙は悪 黙っているくらいなら嘘でも何か言った方がマシと思ってますます嘘が増える
- 139 名前:デフォルトの名無しさん [2020/03/31(火) 18:03:32.10 ID:pMTrfgV+.net]
- 存在しない敵に吠え続ける
- 140 名前:デフォルトの名無しさん [2020/03/31(火) 18:05:52.76 ID:j91gJgzW.net]
- >>135
学歴コンプやばそう
- 141 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 21:38:58 ID:OTxurRkT.net]
- だから金だろうと知識だろうと、学歴だろうとなんでもいいんだよ。
糞みたいなプライドで開発の邪魔しなけりゃな。
- 142 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 23:05:18 ID:gNdJtX6R.net]
- 学歴だろうと知識だろうと仕事の腕前だろうと、
お前らキモオタクがそういう承認欲求を満たそうとすると裏目に出るだけだぞ 表ではお世辞であしらわれて、裏ではチョロいとナメられるのがオチ
- 143 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 23:24:14 .net]
- トンデモを惹きつけてしまうのは Haskell の業
アイドルにストーカーがついてまわるのと抽象的構造が似ている Haskell は高度知的アイドル型言語
- 144 名前:デフォルトの名無しさん mailto:sage [2020/04/01(水) 02:53:00.79 ID:Bo1VBV+d.net]
- 確かにこのスレは厄介に粘着されてるしアイドルっぽい
- 145 名前:デフォルトの名無しさん mailto:sage [2020/04/01(水) 02:57:48.54 ID:nmdW+DZF.net]
- 地下アイドルの宿命だろう
- 146 名前:デフォルトの名無しさん mailto:sage [2020/04/01(水) 11:45:02 ID:BVkSt5Rw.net]
- 確かにここは地下アイドルスレみたいだな
- 147 名前:デフォルトの名無しさん [2020/04/01(水) 13:27:17.06 ID:0siDwK7Q.net]
- simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0 UIライブラリ (C#, 2D) を作ったよ ttp://x0000.net/topic.aspx?id=3688-0 学術巨大掲示板群: アルファ・ラボ ttp://x0000.net 物理学 化学 数学 生物学 天文学 地理地学 IT 電子 工学 国語 方言 言語学 など
- 148 名前:デフォルトの名無しさん mailto:sage [2020/04/01(水) 18:26:51 ID:mH5B7GLX.net]
- そういえばsinもcosも地上の人に粘着されてたのを思い出した
- 149 名前:デフォルトの名無しさん mailto:sage [2020/04/01(水) 19:36:45.58 ID:MGV55WuQz]
- %stack_root%\global-project\stack.yaml
に resolver: lts-13.25 と記述があるんですが、 stack new 〜〜 すると作成されるプロジェクトの stack.yamlに resolver: lts-15.6 と記述されます。 global-projectの設定が反映されると思っていたんですが認識間違っていますでしょうか
- 150 名前:デフォルトの名無しさん mailto:sage [2020/04/02(木) 01:11:13.45 ID:I8hlhwK7.net]
- 対偶と逆の区別もついてなさげな人の登場
- 151 名前:デフォルトの名無しさん [2020/04/02(木) 01:48:53 ID:l/tHPd/2.net]
- Haskellって技術書少ないよな
みんな何で勉強してんの?
- 152 名前:デフォルトの名無しさん mailto:sage [2020/04/02(木) 05:42:29.80 ID:RR8wjO3M.net]
- >>149
マイナー言語の割には多いと思うけど。 人気ランクが上のkotlinやclojure、elmは少ないし、同じぐらいの順位のprologやsmalltalkは新刊が出てなくて、昔出た書籍のほとんどが絶版している。
- 153 名前:デフォルトの名無しさん mailto:sage [2020/04/02(木) 06:21:32.55 ID:RR8wjO3M.net]
- 技術書は英語圏の次に多いと思う。
- 154 名前:デフォルトの名無しさん mailto:sage [2020/04/02(木) 06:33:57.84 ID:6/i0fPdP.net]
- >>149
特別なことはなく、ネットや本で学んだよ 例えば ・Thinking wih Types 型レベルプログラミングを学んだ https://leanpub.com/thinking-with-types ・Optics By Example lensに代表されるopticsを学んだ https://leanpub.com/optics-by-example ・Hexagonal architecture Haskell & DDD でアプリを作るパターンの一つを学んだ https://blog.ploeh.dk/2016/03/18/functional-architecture-is-ports-and-adapters/ ・Effect system IOを安全に扱う方法を学んだ (正確にはモナドの合成を分かりやすく扱う方法) DDDによるアプリ制作においてさっきのが戦略とすれば、こっちは戦術 okmij.org/ftp/Haskell/extensible/exteff.pdf ライブラリもいくつかある あと、Redditの投稿を追いかけていれば色々学べる https://www.reddit.com/r/haskell/ と言うか、紹介しきれないほどの情報がネットに溢れているんだが
- 155 名前:デフォルトの名無しさん mailto:sage [2020/04/02(木) 15:08:36.64 ID:ttPPzFzn.net]
- 情報収集のスキルは人それぞれでしょ
reddit はニッチなライブラリの質問とかリリース情報みたいなの多くね? かったるくていちいち追ってられない 俺はそういうのは twitter にいる Haskell 賢人に任せている これ面白いよ!って記事をフィルタして共有してくれるから、それ読んで勉強してる ありがたや ありがたや
- 156 名前:デフォルトの名無しさん mailto:sage [2020/04/02(木) 20:27:07.35 ID:te9iYBJx.net]
- >>152
有益
- 157 名前:デフォルトの名無しさん [2020/04/03(金) 02:49:35 ID:y19+kh0E.net]
- >>151
日本語の書籍の事だろ? それは先ずない ロシアが次点あとはドイツなんかも結構あるドイツは翻訳ばっかだが(´・ω・`)
- 158 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 07:10:48.62 ID:SDolupu6.net]
- 技術書って入門書も含む?
- 159 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 07:55:31 ID:a6cZ/qJ8.net]
- 一切含まない
- 160 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 08:28:58 ID:m8zbpAqS.net]
- おいおい
- 161 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 09:31:03 ID:DM1ooV3Z.net]
- >>155
日本以外にも翻訳文化はあるのね。 有名なのが翻訳されるのはわかるけど。
- 162 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 16:45:57.10 ID:ked6xspS.net]
- 日本の翻訳文化って外国語を自国語に取り込んじゃうのがすごいとかなんとかって話で、翻訳量自体は別にそれほどでもなかった気がする
- 163 名前:デフォルトの名無しさん [2020/04/03(金) 17:43:30 ID:VVxcL9Mv.net]
- オーバーシュートω
ロックダウンωωω
- 164 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 17:47:56 ID:JepZACIl.net]
- マジレスすると多分中国語が英語の次だろうな
場合によっちゃ英語より多いかもしれん 中国語の場合は入ってくるだけで出ていかないブラックホールだから実態が掴みにくい
- 165 名前:デフォルトの名無しさん [2020/04/03(金) 17:57:20.01 ID:VVxcL9Mv.net]
- twitterでHaskellを薦められたので本気になった
https://www.si-ght.jp/entry/techandme-chiyoda02
- 166 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 18:00:08.86 ID:AMwYpRxM.net]
- かわいいです
- 167 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 18:57:42 ID:Yw161NPN.net]
- はーい先生怒らないから犯人は正直に手を挙げなさい
>「プログラミング初心者なんですけど、何からやったらいいですか? > 最近ようやくJavaScriptが少しだけ読めるようになってきた頃です」。 > > そうしたら「JavaScriptなんて暗黒で恐ろしい言語はダメだ、純粋関数型言語であるHaskellからやった方がいい」みたいなことを言われました。 https://codezine.jp/article/detail/11885 > 「わからなかったけど、コードを書いて動かす楽しみと快感を覚えたんですよ。 > Haskellをもっと理解したいと相談したら、『圏論の基礎』という本を勧められました。 > でもその本も全然わからなかったんです(笑)」
|

|