関数型プログラミング言語 Haskell について語るスレです。
Haskell Language(公式サイト)
https://www.haskell.org/
日本Haskellユーザーグループ - Haskell-jp
https://haskell.jp/
前スレ
関数型プログラミング言語Haskell Part32
https://mevius.5ch.net/test/read.cgi/tech/1548720347/
探検
関数型プログラミング言語Haskell Part33
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/02/10(月) 18:17:36.49ID:L6eYQqyh93デフォルトの名無しさん
2020/03/27(金) 20:16:36.86ID:adWh10vX2020/03/27(金) 20:19:07.32ID:inQsOLrL
遅延評価と考え方は似てると思う。状態の受け渡しとかが出てきてこんがらがる
2020/03/27(金) 20:47:16.26ID:oRj/lH5B
IOモナドに副作用を追いやれることがどれくらい良いことなのかを議論するのは悪くないと思うけど、
副作用が無いなんて嘘付き!とかそもそもプログラムってのは副作用の塊だ!っていうのは誤解か誤読かフカシに騙されたかのどれかなので楽しくない話になる、と思う
副作用が無いなんて嘘付き!とかそもそもプログラムってのは副作用の塊だ!っていうのは誤解か誤読かフカシに騙されたかのどれかなので楽しくない話になる、と思う
2020/03/27(金) 20:49:07.27ID:duAJ897u
関数型と手続き型は共存するべき
関数型はマクロの性質を持っている
関数型はマクロの性質を持っている
2020/03/27(金) 21:16:36.28ID:7fKLUCpq
2020/03/27(金) 21:17:09.88
言語設計者じゃなければ難しいこと考える必要なんてないんだ。ただの Haskell ユーザだろ?
(Haskellの)モナドは Haskell という基盤上で動作するDSLプラットフォームだよ。
各々が Haskell 上で動作するオレオレ言語を作れるんだ。
だから一度それを走らせれば、その中に他人の言語が干渉することはできない。
C++を書いてる途中でJavaコードを直接混ぜることは許されないというトートロジー。
他のDSLとはポートを作ってそこでデータを輸出入する
(Haskellの)モナドはC++コードにJavaコードが混ざらない事を保証してくれる
そういうイメージ
(Haskellの)モナドのライブラリには、その設計者の思想によるDSLの書き方がある。
それを知らずに型とだけ睨めっこしててもIQテストだよ
(Haskellの)モナドは Haskell という基盤上で動作するDSLプラットフォームだよ。
各々が Haskell 上で動作するオレオレ言語を作れるんだ。
だから一度それを走らせれば、その中に他人の言語が干渉することはできない。
C++を書いてる途中でJavaコードを直接混ぜることは許されないというトートロジー。
他のDSLとはポートを作ってそこでデータを輸出入する
(Haskellの)モナドはC++コードにJavaコードが混ざらない事を保証してくれる
そういうイメージ
(Haskellの)モナドのライブラリには、その設計者の思想によるDSLの書き方がある。
それを知らずに型とだけ睨めっこしててもIQテストだよ
100デフォルトの名無しさん
2020/03/27(金) 21:54:14.38ID:62v2q1lB >>96
Haskellの解説本・サイトは「副作用のないプログラミング!」のように喧伝し、
副作用がまるで悪いものであるかのように誤認させているからな。
医薬品の副作用は意図しない有害な作用なので避けるべきだが、プログラム言語の
副作用は数学的な意味で関数とは言えないだけで、意図した有益な作用だから何の
問題もない。副作用があろうとなかろうと、関連が深い処理をまとめて記述する
手続き型言語の方が使いやすい。
純粋関数型なんて実用性が大きく劣る。ラムダ関数や高階関数など関数型の
おいしい所だけ手続き型に取り入れるのが賢明。
Haskellの解説本・サイトは「副作用のないプログラミング!」のように喧伝し、
副作用がまるで悪いものであるかのように誤認させているからな。
医薬品の副作用は意図しない有害な作用なので避けるべきだが、プログラム言語の
副作用は数学的な意味で関数とは言えないだけで、意図した有益な作用だから何の
問題もない。副作用があろうとなかろうと、関連が深い処理をまとめて記述する
手続き型言語の方が使いやすい。
純粋関数型なんて実用性が大きく劣る。ラムダ関数や高階関数など関数型の
おいしい所だけ手続き型に取り入れるのが賢明。
101デフォルトの名無しさん
2020/03/27(金) 22:59:10.30ID:adWh10vX >>100
うん。だからあなたは純粋関数型なんて実用性が大きく劣るものなんか使わず
あなたの好きな手続き型の言語で実用的なプログラム書いてればいいじゃん。
その言語のスレにいってその言語の好きなところとか新しく出てきたすごい機能とかの
話題で盛り上がったほうがよほど生産的ではなくて?
わざわざこんなスレにツバかける来る暇があったらさあ。
うん。だからあなたは純粋関数型なんて実用性が大きく劣るものなんか使わず
あなたの好きな手続き型の言語で実用的なプログラム書いてればいいじゃん。
その言語のスレにいってその言語の好きなところとか新しく出てきたすごい機能とかの
話題で盛り上がったほうがよほど生産的ではなくて?
わざわざこんなスレにツバかける来る暇があったらさあ。
102デフォルトの名無しさん
2020/03/27(金) 23:33:11.47ID:gM1jKcLP >>93
おれも同意だね
ここに限らず命令列、指令書みたいなメタファーで説明しようとするやついるけど
初学者にとって全く理解の助けにならない
プログラミング言語を説明するのに命令列って説明になってない
worldの考え方とモナドによる隠蔽で説明した方が理解しやすい
おれも同意だね
ここに限らず命令列、指令書みたいなメタファーで説明しようとするやついるけど
初学者にとって全く理解の助けにならない
プログラミング言語を説明するのに命令列って説明になってない
worldの考え方とモナドによる隠蔽で説明した方が理解しやすい
103デフォルトの名無しさん
2020/03/27(金) 23:51:09.98ID:bDbxDlCw Mワードは控えようね!
104デフォルトの名無しさん
2020/03/28(土) 09:17:26.94ID:HVNiklPA 実装に依存するな、メタファーに依存しろ
こういうのって実装はコロコロ変わるがメタファーは不変という前提なんだよね
前提が崩れたらやっぱり実装に依存する方が正解だったことになる
こういうのって実装はコロコロ変わるがメタファーは不変という前提なんだよね
前提が崩れたらやっぱり実装に依存する方が正解だったことになる
105デフォルトの名無しさん
2020/03/28(土) 11:10:45.76ID:qGbN9Cxf モナドに関しては、モナドというインターフェースを実装しとけばそのデータはdo記法という特殊構文に対応する
ぐらいの説明でいい
IOモナドに関しても、world云々とかioモナドの実装とか知らなくても問題ない
IOアクションをdo記法で組み合わせて手続型言語風の書き方を再現できることだけ知ってれば良い
ぐらいの説明でいい
IOモナドに関しても、world云々とかioモナドの実装とか知らなくても問題ない
IOアクションをdo記法で組み合わせて手続型言語風の書き方を再現できることだけ知ってれば良い
106デフォルトの名無しさん
2020/03/28(土) 12:07:59.94ID:6h+JM2Gw >>88
ハァ? じゃあ役に立つプログラムを書けばいい
良い/役に立つはどう違うか、説明できないだろ
雰囲気で誤魔化せると思っているお前みたいなアホが真の元凶
良いプログラムが役に立つプログラムと無関係なら、良いなんて指標は何の役にも立たん
Haskellで役に立つプログラムをお前が書け
それができないならせめて、何が足りないのか言え
ハァ? じゃあ役に立つプログラムを書けばいい
良い/役に立つはどう違うか、説明できないだろ
雰囲気で誤魔化せると思っているお前みたいなアホが真の元凶
良いプログラムが役に立つプログラムと無関係なら、良いなんて指標は何の役にも立たん
Haskellで役に立つプログラムをお前が書け
それができないならせめて、何が足りないのか言え
107デフォルトの名無しさん
2020/03/28(土) 12:16:59.39ID:6h+JM2Gw このスレだけでなくあちこちに、"悟り派"が蔓延ってるのにそろそろ一言言っておくぞ
悟り派は、Haskellで悟りを得て自分の言語に持ち帰る
そして自分の製品のなかに不完全なHaskellのサブセットを作ってブーたれる。やれ遅延評価がない、モナドがない…
そんなんするくらいなら最初からHaskellで書けや
新規の参入、それ自体はいいことだが…
悟り派は、Haskellで悟りを得て自分の言語に持ち帰る
そして自分の製品のなかに不完全なHaskellのサブセットを作ってブーたれる。やれ遅延評価がない、モナドがない…
そんなんするくらいなら最初からHaskellで書けや
新規の参入、それ自体はいいことだが…
108デフォルトの名無しさん
2020/03/28(土) 12:38:06.30ID:6h+JM2Gw109デフォルトの名無しさん
2020/03/28(土) 12:40:02.34ID:HVNiklPA110デフォルトの名無しさん
2020/03/28(土) 12:53:14.21ID:6h+JM2Gw >>101
「ついてこれないならついてこなくていい」スタイルもどうかと思うぞ
そんなんやってたら、いずれ砂漠になっちまう
ただでさえスレッドが一週間止まるなんてざらにある現状なのに
>>100
> 副作用があろうとなかろうと、関連が深い処理をまとめて記述する手続き型の方が使いやすい
Haskell はモナドの do 構文を通して手続きをサポートする。手続き型言語でもある
副作用の有無に関わらず処理をモジュールにまとめることはできる
むしろ入出力が型に明に表れるので通信的凝集などの高凝集なモジュール分けに自然になりやすい
ただそれと引き換えに、ラフに、スケッチ的にプログラミングするのがやりにくい
これは原理的なトレードオフではないと思うが、少なくとも現時点ではそうだ
「ついてこれないならついてこなくていい」スタイルもどうかと思うぞ
そんなんやってたら、いずれ砂漠になっちまう
ただでさえスレッドが一週間止まるなんてざらにある現状なのに
>>100
> 副作用があろうとなかろうと、関連が深い処理をまとめて記述する手続き型の方が使いやすい
Haskell はモナドの do 構文を通して手続きをサポートする。手続き型言語でもある
副作用の有無に関わらず処理をモジュールにまとめることはできる
むしろ入出力が型に明に表れるので通信的凝集などの高凝集なモジュール分けに自然になりやすい
ただそれと引き換えに、ラフに、スケッチ的にプログラミングするのがやりにくい
これは原理的なトレードオフではないと思うが、少なくとも現時点ではそうだ
111デフォルトの名無しさん
2020/03/28(土) 13:03:17.72ID:6h+JM2Gw112デフォルトの名無しさん
2020/03/28(土) 13:20:53.69ID:O2QL6TTJ113デフォルトの名無しさん
2020/03/28(土) 13:39:06.65ID:6h+JM2Gw114デフォルトの名無しさん
2020/03/28(土) 13:51:46.86ID:HVNiklPA 言語仕様はよいよね
実装はどこがよいのかさっぱりわからんが、知らなくても問題ないと言われる
実装はどこがよいのかさっぱりわからんが、知らなくても問題ないと言われる
115デフォルトの名無しさん
2020/03/28(土) 14:01:08.48ID:sKmY04JT なら、F#でいいと思います。
副作用もあるし、コンピューテーション式もあるよ。
副作用もあるし、コンピューテーション式もあるよ。
116デフォルトの名無しさん
2020/03/28(土) 14:02:43.23ID:6h+JM2Gw >>114
どこが悪いのかも同じようにわからない、って解釈でいいかな
どこが悪いのかも同じようにわからない、って解釈でいいかな
117デフォルトの名無しさん
2020/03/28(土) 14:06:58.93ID:6h+JM2Gw118デフォルトの名無しさん
2020/03/28(土) 14:08:13.75ID:qGbN9Cxf なんかギルガメッシュいてワロタ
雑種!!!
雑種!!!
119デフォルトの名無しさん
2020/03/28(土) 14:18:52.56ID:6h+JM2Gw120デフォルトの名無しさん
2020/03/29(日) 20:36:56.39ID:+/sFre8I Haskellの仕様=ゲートオブバビロンかよ
121デフォルトの名無しさん
2020/03/29(日) 21:28:27.32ID:AoSt3bhf Haskellの理解に圏論は必要ないとよく言われるけど、
End/Coend勉強したらHaskellのポリモーフィズムとか
存在型のことがよくわかったし、
コモナドとか余代数は圏論的理解しといた方が絶対にいいなと思った
今はKan拡張に挑戦中だわ
End/Coend勉強したらHaskellのポリモーフィズムとか
存在型のことがよくわかったし、
コモナドとか余代数は圏論的理解しといた方が絶対にいいなと思った
今はKan拡張に挑戦中だわ
122デフォルトの名無しさん
2020/03/29(日) 21:37:39.83ID:i8zPSo78 なにで勉強してるの?
123デフォルトの名無しさん
2020/03/29(日) 21:42:16.37ID:dETyGOxM124デフォルトの名無しさん
2020/03/29(日) 21:46:33.53ID:AoSt3bhf >>123
ekmettのライブラリとかHaskellの型システムを強化する言語拡張など、高度に抽象的なコンストラクションがどういう意図で作られていてどういう場面で役に立つのか
ekmettのライブラリとかHaskellの型システムを強化する言語拡張など、高度に抽象的なコンストラクションがどういう意図で作られていてどういう場面で役に立つのか
125デフォルトの名無しさん
2020/03/30(月) 04:34:10.51ID:BWxPCUH7126デフォルトの名無しさん
2020/03/30(月) 04:43:23.39ID:BWxPCUH7 >>66
手続き型言語と数学の関連性が見える様になると、数学的に正しい=バグが無いプログラムを書けるようになる。
だったら数学(特に圏論)だけで良いんだけど、ほぼ数学なHaskellで実際に動かして手続き型言語と数学の共通点を確認出来る。
手続き型言語と数学の関連性が見える様になると、数学的に正しい=バグが無いプログラムを書けるようになる。
だったら数学(特に圏論)だけで良いんだけど、ほぼ数学なHaskellで実際に動かして手続き型言語と数学の共通点を確認出来る。
127デフォルトの名無しさん
2020/03/30(月) 04:50:50.17ID:BWxPCUH7 モナドについてはDSLと言うのは言い得て妙で、mainはIO ()を得るために式を展開する。
その過程で副作用を含む式が動き出す。
個人的にはHaskellは副作用は有るが、参照透明性は崩れていないと言うのがHaskellが純粋関数型言語を主張する根拠なのだと思う。
その過程で副作用を含む式が動き出す。
個人的にはHaskellは副作用は有るが、参照透明性は崩れていないと言うのがHaskellが純粋関数型言語を主張する根拠なのだと思う。
128デフォルトの名無しさん
2020/03/30(月) 05:26:16.39ID:RViSHasz アプリを作ることに限れば、圏論の触り部分すら知らなくても問題ない。
C#やJava、Pythonは大して深く理解していない入門を抜けたばかりの人でも、
アドバイスを受けながら一通りアプリを完成させられるでしょ。
未知の必要なライブラリも本やドキュメントを読んで使い方を学べるでしょ。
haskellもまったく同じ。
入門を抜けたらすぐにアプリを作れる(し、そうすべきだと個人的には思う)。
そこに圏論の知識は微塵も要らない。
圏論の知識が活きるのは意味論をしっかり考える時だ。
**に圏論が役立ったよ、圏論のおかげで**が理解できたよと言っている人は、
意識的にせよ無意識的にせよ、その**の意味論を考えてたのではないか。
それ自体は素晴らしいことだと思う。
でもそこまでの深い理解がなくても実用的なアプリは問題なく作れる。
因みに、バグを減らすのにも圏論の知識は必要ない。
C#やJava、Pythonは大して深く理解していない入門を抜けたばかりの人でも、
アドバイスを受けながら一通りアプリを完成させられるでしょ。
未知の必要なライブラリも本やドキュメントを読んで使い方を学べるでしょ。
haskellもまったく同じ。
入門を抜けたらすぐにアプリを作れる(し、そうすべきだと個人的には思う)。
そこに圏論の知識は微塵も要らない。
圏論の知識が活きるのは意味論をしっかり考える時だ。
**に圏論が役立ったよ、圏論のおかげで**が理解できたよと言っている人は、
意識的にせよ無意識的にせよ、その**の意味論を考えてたのではないか。
それ自体は素晴らしいことだと思う。
でもそこまでの深い理解がなくても実用的なアプリは問題なく作れる。
因みに、バグを減らすのにも圏論の知識は必要ない。
129デフォルトの名無しさん
2020/03/30(月) 07:45:32.21ID:b0eBXbnt HaskellをやってるうちにHaskellの魅力に気づいて
Haskellで何かを作るよりもHaskellという言語自体のことをもっと深く知りたくなることもあるだろ
そう言う場合に圏論は最良の選択だよ
俺としては、Haskellでアプリを作るためにはまあ圏論を知らなくてもいいと思うけど、
圏論を勉強すれば、より高い視点から見えるものもある
必須じゃないが、苦労して圏論を学んだボーナスだな
Haskellで何かを作るよりもHaskellという言語自体のことをもっと深く知りたくなることもあるだろ
そう言う場合に圏論は最良の選択だよ
俺としては、Haskellでアプリを作るためにはまあ圏論を知らなくてもいいと思うけど、
圏論を勉強すれば、より高い視点から見えるものもある
必須じゃないが、苦労して圏論を学んだボーナスだな
130デフォルトの名無しさん
2020/03/30(月) 09:41:29.75ID:rvpoYgUk モナドがらみだとF#のコンピューテーション式使って
async定義されてるらしいな ちょっと、モナド凄いと思ってしまった
裏で共通作業をするって意味なら分からなくはないけど、
その仕掛けは気になる
F# vNext は何が "ヤバい" のか: Monadic Programming の新時代
https://qiita.com/cannorin/items/1936faded610c3ab6c18
async定義されてるらしいな ちょっと、モナド凄いと思ってしまった
裏で共通作業をするって意味なら分からなくはないけど、
その仕掛けは気になる
F# vNext は何が "ヤバい" のか: Monadic Programming の新時代
https://qiita.com/cannorin/items/1936faded610c3ab6c18
131デフォルトの名無しさん
2020/03/30(月) 18:05:04.07ID:Dztwglzx 型クラスとインターフェースがなんとなく似てるので、
型クラスのようなことをインターフェースでまねしようとしてなんか違う…ってなってたけど、やっとなぜなのかわかった
インターフェース(クラスポリモーフィズム)って、そもそも型クラスとは全く別物で、むしろ存在型の一例になってるだな
やっぱり型クラスは型クラスで、型クラスのない言語でこ対応物なんてなかったんや
型クラスのようなことをインターフェースでまねしようとしてなんか違う…ってなってたけど、やっとなぜなのかわかった
インターフェース(クラスポリモーフィズム)って、そもそも型クラスとは全く別物で、むしろ存在型の一例になってるだな
やっぱり型クラスは型クラスで、型クラスのない言語でこ対応物なんてなかったんや
132デフォルトの名無しさん
2020/03/30(月) 21:57:05.25ID:6PZKu5o5 このゲームAIのコンテストにHaskellで参加して優勝してHaskellの強さを見せつけてやれ!
https://www.codingame.com/contests/ocean-of-code/leaderboard/global?column=LANGUAGE&value=Haskell
https://www.codingame.com/contests/ocean-of-code/leaderboard/global?column=LANGUAGE&value=Haskell
133デフォルトの名無しさん
2020/03/31(火) 00:52:19.85ID:K6rzEVwz ハスケラが目的のあるプログラミングなんてやるわけないじゃん
134デフォルトの名無しさん
2020/03/31(火) 11:43:52.10ID:0EnDwwx5 目的はお金でも知識でもいいよ
例えばお金自体が目的だったらそのお金が無駄に多過ぎるんじゃないかとか心配する必要はない
例えばお金自体が目的だったらそのお金が無駄に多過ぎるんじゃないかとか心配する必要はない
135デフォルトの名無しさん
2020/03/31(火) 13:19:45.47ID:OTxurRkT お金、知識でもいいけど
たいていは俺すげーしたいだけだから問題。
たいていは俺すげーしたいだけだから問題。
136デフォルトの名無しさん
2020/03/31(火) 13:55:00.32ID:0EnDwwx5 事前に目的を決めても「俺すげーしたいだけ」とかいう真の目的が後から出てくる
事前に嘘をついていたことか問題だと思えば沈黙が正解
だが隠し事をしていたことが問題だと思えば沈黙は悪
黙っているくらいなら嘘でも何か言った方がマシと思ってますます嘘が増える
事前に嘘をついていたことか問題だと思えば沈黙が正解
だが隠し事をしていたことが問題だと思えば沈黙は悪
黙っているくらいなら嘘でも何か言った方がマシと思ってますます嘘が増える
137デフォルトの名無しさん
2020/03/31(火) 18:03:32.10ID:pMTrfgV+ 存在しない敵に吠え続ける
138デフォルトの名無しさん
2020/03/31(火) 18:05:52.76ID:j91gJgzW >>135
学歴コンプやばそう
学歴コンプやばそう
139デフォルトの名無しさん
2020/03/31(火) 21:38:58.38ID:OTxurRkT だから金だろうと知識だろうと、学歴だろうとなんでもいいんだよ。
糞みたいなプライドで開発の邪魔しなけりゃな。
糞みたいなプライドで開発の邪魔しなけりゃな。
140デフォルトの名無しさん
2020/03/31(火) 23:05:18.94ID:gNdJtX6R 学歴だろうと知識だろうと仕事の腕前だろうと、
お前らキモオタクがそういう承認欲求を満たそうとすると裏目に出るだけだぞ
表ではお世辞であしらわれて、裏ではチョロいとナメられるのがオチ
お前らキモオタクがそういう承認欲求を満たそうとすると裏目に出るだけだぞ
表ではお世辞であしらわれて、裏ではチョロいとナメられるのがオチ
141デフォルトの名無しさん
2020/03/31(火) 23:24:14.95 トンデモを惹きつけてしまうのは Haskell の業
アイドルにストーカーがついてまわるのと抽象的構造が似ている
Haskell は高度知的アイドル型言語
アイドルにストーカーがついてまわるのと抽象的構造が似ている
Haskell は高度知的アイドル型言語
142デフォルトの名無しさん
2020/04/01(水) 02:53:00.79ID:Bo1VBV+d 確かにこのスレは厄介に粘着されてるしアイドルっぽい
143デフォルトの名無しさん
2020/04/01(水) 02:57:48.54ID:nmdW+DZF 地下アイドルの宿命だろう
144デフォルトの名無しさん
2020/04/01(水) 11:45:02.99ID:BVkSt5Rw 確かにここは地下アイドルスレみたいだな
145デフォルトの名無しさん
2020/04/01(水) 13:27:17.06ID:0siDwK7Q simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
学術巨大掲示板群: アルファ・ラボ
ttp://x0000.net
物理学 化学 数学 生物学 天文学 地理地学
IT 電子 工学 国語 方言 言語学 など
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
学術巨大掲示板群: アルファ・ラボ
ttp://x0000.net
物理学 化学 数学 生物学 天文学 地理地学
IT 電子 工学 国語 方言 言語学 など
146デフォルトの名無しさん
2020/04/01(水) 18:26:51.54ID:mH5B7GLX そういえばsinもcosも地上の人に粘着されてたのを思い出した
147デフォルトの名無しさん
2020/04/02(木) 01:11:13.45ID:I8hlhwK7 対偶と逆の区別もついてなさげな人の登場
148デフォルトの名無しさん
2020/04/02(木) 01:48:53.35ID:l/tHPd/2 Haskellって技術書少ないよな
みんな何で勉強してんの?
みんな何で勉強してんの?
149デフォルトの名無しさん
2020/04/02(木) 05:42:29.80ID:RR8wjO3M >>148
マイナー言語の割には多いと思うけど。
人気ランクが上のkotlinやclojure、elmは少ないし、同じぐらいの順位のprologやsmalltalkは新刊が出てなくて、昔出た書籍のほとんどが絶版している。
マイナー言語の割には多いと思うけど。
人気ランクが上のkotlinやclojure、elmは少ないし、同じぐらいの順位のprologやsmalltalkは新刊が出てなくて、昔出た書籍のほとんどが絶版している。
150デフォルトの名無しさん
2020/04/02(木) 06:21:32.55ID:RR8wjO3M 技術書は英語圏の次に多いと思う。
151デフォルトの名無しさん
2020/04/02(木) 06:33:57.84ID:6/i0fPdP >>148
特別なことはなく、ネットや本で学んだよ
例えば
・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によるアプリ制作においてさっきのが戦略とすれば、こっちは戦術
http://okmij.org/ftp/Haskell/extensible/exteff.pdf
ライブラリもいくつかある
あと、Redditの投稿を追いかけていれば色々学べる
https://www.reddit.com/r/haskell/
と言うか、紹介しきれないほどの情報がネットに溢れているんだが
特別なことはなく、ネットや本で学んだよ
例えば
・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によるアプリ制作においてさっきのが戦略とすれば、こっちは戦術
http://okmij.org/ftp/Haskell/extensible/exteff.pdf
ライブラリもいくつかある
あと、Redditの投稿を追いかけていれば色々学べる
https://www.reddit.com/r/haskell/
と言うか、紹介しきれないほどの情報がネットに溢れているんだが
152デフォルトの名無しさん
2020/04/02(木) 15:08:36.64ID:ttPPzFzn 情報収集のスキルは人それぞれでしょ
reddit はニッチなライブラリの質問とかリリース情報みたいなの多くね?
かったるくていちいち追ってられない
俺はそういうのは twitter にいる Haskell 賢人に任せている
これ面白いよ!って記事をフィルタして共有してくれるから、それ読んで勉強してる
ありがたや ありがたや
reddit はニッチなライブラリの質問とかリリース情報みたいなの多くね?
かったるくていちいち追ってられない
俺はそういうのは twitter にいる Haskell 賢人に任せている
これ面白いよ!って記事をフィルタして共有してくれるから、それ読んで勉強してる
ありがたや ありがたや
153デフォルトの名無しさん
2020/04/02(木) 20:27:07.35ID:te9iYBJx >>151
有益
有益
154デフォルトの名無しさん
2020/04/03(金) 02:49:35.37ID:y19+kh0E155デフォルトの名無しさん
2020/04/03(金) 07:10:48.62ID:SDolupu6 技術書って入門書も含む?
156デフォルトの名無しさん
2020/04/03(金) 07:55:31.68ID:a6cZ/qJ8 一切含まない
157デフォルトの名無しさん
2020/04/03(金) 08:28:58.50ID:m8zbpAqS おいおい
158デフォルトの名無しさん
2020/04/03(金) 09:31:03.42ID:DM1ooV3Z159デフォルトの名無しさん
2020/04/03(金) 16:45:57.10ID:ked6xspS 日本の翻訳文化って外国語を自国語に取り込んじゃうのがすごいとかなんとかって話で、翻訳量自体は別にそれほどでもなかった気がする
160デフォルトの名無しさん
2020/04/03(金) 17:43:30.64ID:VVxcL9Mv オーバーシュートω
ロックダウンωωω
ロックダウンωωω
161デフォルトの名無しさん
2020/04/03(金) 17:47:56.79ID:JepZACIl マジレスすると多分中国語が英語の次だろうな
場合によっちゃ英語より多いかもしれん
中国語の場合は入ってくるだけで出ていかないブラックホールだから実態が掴みにくい
場合によっちゃ英語より多いかもしれん
中国語の場合は入ってくるだけで出ていかないブラックホールだから実態が掴みにくい
162デフォルトの名無しさん
2020/04/03(金) 17:57:20.01ID:VVxcL9Mv twitterでHaskellを薦められたので本気になった
https://www.si-ght.jp/entry/techandme-chiyoda02
https://www.si-ght.jp/entry/techandme-chiyoda02
163デフォルトの名無しさん
2020/04/03(金) 18:00:08.86ID:AMwYpRxM かわいいです
164デフォルトの名無しさん
2020/04/03(金) 18:57:42.55ID:Yw161NPN はーい先生怒らないから犯人は正直に手を挙げなさい
>「プログラミング初心者なんですけど、何からやったらいいですか?
> 最近ようやくJavaScriptが少しだけ読めるようになってきた頃です」。
>
> そうしたら「JavaScriptなんて暗黒で恐ろしい言語はダメだ、純粋関数型言語であるHaskellからやった方がいい」みたいなことを言われました。
https://codezine.jp/article/detail/11885
> 「わからなかったけど、コードを書いて動かす楽しみと快感を覚えたんですよ。
> Haskellをもっと理解したいと相談したら、『圏論の基礎』という本を勧められました。
> でもその本も全然わからなかったんです(笑)」
>「プログラミング初心者なんですけど、何からやったらいいですか?
> 最近ようやくJavaScriptが少しだけ読めるようになってきた頃です」。
>
> そうしたら「JavaScriptなんて暗黒で恐ろしい言語はダメだ、純粋関数型言語であるHaskellからやった方がいい」みたいなことを言われました。
https://codezine.jp/article/detail/11885
> 「わからなかったけど、コードを書いて動かす楽しみと快感を覚えたんですよ。
> Haskellをもっと理解したいと相談したら、『圏論の基礎』という本を勧められました。
> でもその本も全然わからなかったんです(笑)」
165デフォルトの名無しさん
2020/04/03(金) 19:05:03.06ID:AMwYpRxM 犯人オタクキモすぎてわろ
166デフォルトの名無しさん
2020/04/03(金) 20:09:26.90ID:Yw161NPN 初手マックレーンは草 ...ってか鬼畜
もっとこう RealWorldHaskell とかあるでしょ
もっとこう RealWorldHaskell とかあるでしょ
167デフォルトの名無しさん
2020/04/03(金) 20:11:51.67ID:Yw161NPN168デフォルトの名無しさん
2020/04/03(金) 22:34:37.28ID:pfIiNzTY Haskellってかわいいよね
169デフォルトの名無しさん
2020/04/03(金) 23:04:02.16ID:a6cZ/qJ8 口うるさいBBAのイメージ
170デフォルトの名無しさん
2020/04/03(金) 23:36:38.26ID:Wo72KAYJ 学術的に進化してもらって
実用的な部分をメジャー言語が取り込んでくれればおk
実用的な部分をメジャー言語が取り込んでくれればおk
171デフォルトの名無しさん
2020/04/04(土) 00:13:54.60ID:HfszwI8c172デフォルトの名無しさん
2020/04/04(土) 08:53:29.14ID:S6De3LG2 >>167
haskellをチョイスするのが只のミーハーではない。
haskellをチョイスするのが只のミーハーではない。
173デフォルトの名無しさん
2020/04/04(土) 14:52:35.68ID:ym7hUMuJ むしろミーハーでもなんでも構わんのだけど、いち Haskeller が女性ってだけで
容姿を蔑んだり・持ち上げたりする連中がいるなら――もしいるのなら反省してほしい、と思った。
DSL を Freeモナドにするか、Tagless Final にするか、それぞれのメリットはなにか…
Haskeller はそういうことで悩んでいたいのであって、性別とかを理由に余計な荷物を背負わせるべきじゃない。
(ghc も依存している llvm はそういう辛さを避ける為に行動規範を定めているんだけど、いまのところまだ ghc には無いっぽい)
https://llvm.org/docs/CodeOfConduct.html
容姿を蔑んだり・持ち上げたりする連中がいるなら――もしいるのなら反省してほしい、と思った。
DSL を Freeモナドにするか、Tagless Final にするか、それぞれのメリットはなにか…
Haskeller はそういうことで悩んでいたいのであって、性別とかを理由に余計な荷物を背負わせるべきじゃない。
(ghc も依存している llvm はそういう辛さを避ける為に行動規範を定めているんだけど、いまのところまだ ghc には無いっぽい)
https://llvm.org/docs/CodeOfConduct.html
174デフォルトの名無しさん
2020/04/04(土) 14:56:51.64ID:ym7hUMuJ175デフォルトの名無しさん
2020/04/04(土) 15:03:44.40ID:ZRwDcP1M キモすぎて怖い…
176デフォルトの名無しさん
2020/04/04(土) 17:30:47.61ID:V7kxF8pu haskellでやり過ぎなほど徹底的に宣言性にこだわってプログラムする実験をしてみたが、なかなか面白いぞ。
手続き的になりがちなゲームプログラミングでやってみると特に。
手続き的になりがちなゲームプログラミングでやってみると特に。
177デフォルトの名無しさん
2020/04/04(土) 20:17:31.82ID:H4c+c10U 今から出会い系の女と会ってくるがやばいんか?
178デフォルトの名無しさん
2020/04/05(日) 00:47:08.63 Haskellスレってワードサラダbotに荒らされてるのか
179デフォルトの名無しさん
2020/04/05(日) 12:14:43.03ID:P07lI1PF180デフォルトの名無しさん
2020/04/05(日) 12:26:37.15ID:P07lI1PF181デフォルトの名無しさん
2020/04/05(日) 14:11:08.66ID:TA9KtVo9 haskellでアクションって言葉よく出てくるけど定義なに?
182デフォルトの名無しさん
2020/04/05(日) 14:28:05.53ID:k4Q+DqWZ >>181
HaskellでActionという用語をみたことが俺はないけど、Haskell直系の子孫のPureScriptだと
型注釈の->の右辺にEffectがある関数をアクションと定義するそうだ。
EffectはHaskellでいうIOに対応すると思ってもらえたらいい。
ちなみに->の左辺にEffectがある関数をハンドラという。
-- アクション
throwException :: forall a. Error -> Effect a
-- ハンドラ
catchException :: forall a. (Error -> Effect a) -> Effect a -> Effect a
HaskellでActionという用語をみたことが俺はないけど、Haskell直系の子孫のPureScriptだと
型注釈の->の右辺にEffectがある関数をアクションと定義するそうだ。
EffectはHaskellでいうIOに対応すると思ってもらえたらいい。
ちなみに->の左辺にEffectがある関数をハンドラという。
-- アクション
throwException :: forall a. Error -> Effect a
-- ハンドラ
catchException :: forall a. (Error -> Effect a) -> Effect a -> Effect a
183デフォルトの名無しさん
2020/04/05(日) 19:12:11.35ID:690ELyL1 >>176
レポジトリ教えて
レポジトリ教えて
184デフォルトの名無しさん
2020/04/05(日) 20:19:22.93ID:eydcY4ib レポジトリって、サッポロ一番の新しい味?
185デフォルトの名無しさん
2020/04/05(日) 20:26:40.20ID:glUSLxyq そうだよ
186デフォルトの名無しさん
2020/04/05(日) 21:28:22.97ID:BHv6uIvk レポジトレ教えて
187デフォルトの名無しさん
2020/04/06(月) 02:32:17.14 FRPは死滅しちゃったの?
188デフォルトの名無しさん
2020/04/06(月) 03:19:32.28ID:2h0eofxY >>187
どういうこと?
どういうこと?
189デフォルトの名無しさん
2020/04/06(月) 04:59:07.56ID:qqlpdYMz どういうことなの…
190デフォルトの名無しさん
2020/04/06(月) 05:06:41.75ID:kxm5p/Vo むしろ>>188-189がどういうことなのかわからない
191デフォルトの名無しさん
2020/04/06(月) 09:29:24.23ID:H7siEM1Y CabalのドキュメントのSecure repository のところ、
root.jsonのkey idを省略するのはお勧めしないとか書いてるけど、
なにかしないといけないの?
root.jsonのkey idを省略するのはお勧めしないとか書いてるけど、
なにかしないといけないの?
192デフォルトの名無しさん
2020/04/06(月) 22:36:41.14ID:MPGLY2yf このスレにはHaskellerなんかいないということがよくわかるな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 【悲報】中国→日本行きの航空チケット、高市有事の影響で50万人分がキャンセルされる [834922174]
- 高市早苗「……なんて言ってみたw」中国「なんだ、言ってみただけかw」👈これで全部元通りになるという事実 [782460143]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- んなっしょい🍬禁止🈲のお🏡
- 映画「ゼルダの伝説」、リンクとゼルダ姫が白人になってしまう。日本のものは日本人だろうが!! [592058334]
