[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 10/10 00:15 / Filesize : 342 KB / Number-of Response : 1029
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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/

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をもっと理解したいと相談したら、『圏論の基礎』という本を勧められました。
> でもその本も全然わからなかったんです(笑)」

168 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 19:05:03 ID:AMwYpRxM.net]
犯人オタクキモすぎてわろ

169 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 20:09:26 ID:Yw161NPN.net]
初手マックレーンは草 ...ってか鬼畜
もっとこう RealWorldHaskell とかあるでしょ

170 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 20:11:51 ID:Yw161NPN.net]
>>164
エンジニアの容姿を判定するのは無しだろうよ...
なんだ Haskell は、高潔なのは言語仕様だけか?



171 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 22:34:37 ID:pfIiNzTY.net]
Haskellってかわいいよね

172 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 23:04:02 ID:a6cZ/qJ8.net]
口うるさいBBAのイメージ

173 名前:デフォルトの名無しさん [2020/04/03(金) 23:36:38.26 ID:Wo72KAYJ.net]
学術的に進化してもらって
実用的な部分をメジャー言語が取り込んでくれればおk

174 名前:デフォルトの名無しさん [2020/04/04(土) 00:13:54.60 ID:HfszwI8c.net]
>>152
>例えば
テンプレ入

175 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 08:53:29.14 ID:S6De3LG2.net]
>>168
haskellをチョイスするのが只のミーハーではない。

176 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 14:52:35.68 ID:ym7hUMuJ.net]
むしろミーハーでもなんでも構わんのだけど、いち Haskeller が女性ってだけで
容姿を蔑んだり・持ち上げたりする連中がいるなら――もしいるのなら反省してほしい、と思った。

DSL を Freeモナドにするか、Tagless Final にするか、それぞれのメリットはなにか…
Haskeller はそういうことで悩んでいたいのであって、性別とかを理由に余計な荷物を背負わせるべきじゃない。
(ghc も依存している llvm はそういう辛さを避ける為に行動規範を定めているんだけど、いまのところまだ ghc には無いっぽい)
https://llvm.org/docs/CodeOfConduct.html

177 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 14:56:51.64 ID:ym7hUMuJ.net]
>>170
個人的な Haskell のイメージは、なんかシュッとした紳士みたいな感じ
エラーメッセージは確かに、ともすると口うるさいw

178 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 15:03:44.40 ID:ZRwDcP1M.net]
キモすぎて怖い…

179 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 17:30:47.61 ID:V7kxF8pu.net]
haskellでやり過ぎなほど徹底的に宣言性にこだわってプログラムする実験をしてみたが、なかなか面白いぞ。
手続き的になりがちなゲームプログラミングでやってみると特に。

180 名前:デフォルトの名無しさん [2020/04/04(土) 20:17:31.82 ID:H4c+c10U.net]
今から出会い系の女と会ってくるがやばいんか?



181 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 00:47:08 .net]
Haskellスレってワードサラダbotに荒らされてるのか

182 名前:デフォルトの名無しさん [2020/04/05(日) 12:14:43.03 ID:P07lI1PF.net]
ちょまど洗脳されかけたんか
https://www.youtube.com/watch?v=v56Y7TJ1ih8
https://yoshiakikamiya.com/characteristics-of-new-employee-training-conducted-by-black-companies/
jibun-discovery.com/?p=1691

183 名前:デフォルトの名無しさん [2020/04/05(日) 12:26:37 ID:P07lI1PF.net]
>>178
感染がやばい
https://startyourenginebrrrrr.net/?p=1339
お気を付けて

184 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 14:11:08 ID:TA9KtVo9.net]
haskellでアクションって言葉よく出てくるけど定義なに?

185 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 14:28:05 ID:k4Q+DqWZ.net]
>>182
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

186 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 19:12:11 ID:690ELyL1.net]
>>177
レポジトリ教えて

187 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 20:19:22 ID:eydcY4ib.net]
レポジトリって、サッポロ一番の新しい味?

188 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 20:26:40 ID:glUSLxyq.net]
そうだよ

189 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 21:28:22 ID:BHv6uIvk.net]
レポジトレ教えて

190 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 02:32:17.14 .net]
FRPは死滅しちゃったの?



191 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 03:19:32.28 ID:2h0eofxY.net]
>>188
どういうこと?

192 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 04:59:07 ID:qqlpdYMz.net]
どういうことなの…

193 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 05:06:41.75 ID:kxm5p/Vo.net]
むしろ>>189-190がどういうことなのかわからない

194 名前:デフォルトの名無しさん [2020/04/06(月) 09:29:24 ID:H7siEM1Y.net]
CabalのドキュメントのSecure repository のところ、
root.jsonのkey idを省略するのはお勧めしないとか書いてるけど、
なにかしないといけないの?

195 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 22:36:41.14 ID:MPGLY2yf.net]
このスレにはHaskellerなんかいないということがよくわかるな

196 名前:デフォルトの名無しさん mailto:sage [2020/04/07(火) 07:33:13 ID:UmG0jYGu.net]
本当に言語に詳しい奴ってのはその言語の弱点をしっかりおさえてるもんよ。

197 名前:デフォルトの名無しさん [2020/04/07(火) 07:36:16 ID:SJ9J2Mim.net]


198 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 08:37:32 .net]
IO がオルタナティヴになったのって最近なのか
Aizu Online Judge のGHCだとコンパイルエラーになる

199 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 22:07:27 .net]
let [a,b,c,d] = bokunofunction in 〜

このリストってWHNFにならないのな

200 名前:デフォルトの名無しさん mailto:sage [2020/04/12(日) 14:46:14.07 ID:qLx35nn/.net]
目的は二つ
式を評価し過ぎないこと
副作用を実行し過ぎないこと

手段はただ一つ
最外簡約



201 名前:デフォルトの名無しさん mailto:sage [2020/04/12(日) 18:21:55 ID:flKXD0mo.net]
haskellでコロナ感染シミュ作るやつ誰もおらんのか?

202 名前:デフォルトの名無しさん mailto:sage [2020/04/12(日) 19:41:52 ID:EEQhx4+u.net]
codewarの問題をHaskellで解いてみてるんだけど
、12000msタイムアウト多発する
リスト内包表記とか再帰はHaskellerはあんまり使わないの?
nに含まれる素因数とかすぐタイムアウトする

203 名前:デフォルトの名無しさん mailto:sage [2020/04/12(日) 21:46:48 ID:ogEgOOCw.net]
>>200
arithmoiとかのライブラリ使うとめっちゃ速いよ
ソースを見てみるといいかも

あと、prime factorization haskell
とかをキーワードにして検索してみるとか

204 名前:デフォルトの名無しさん mailto:sage [2020/04/12(日) 22:42:42.81 .net]
Haskell で競プロ辛い・・・
200000個の整数読み込んで処理するような問題だとMLEになりがちだ
本当にそんなに使ってるのかよ・・・疑わしいなぁ

ランタイムがとりあえずあるだけ使おうとして、足りなくなったらもう要らない空間を探して、そこに上書きするようにしてるの?
だとすると、とりあえずあるだけ使おう期間の段階で上限ぶっちぎってるってことかね
もしかして

GHC「記憶域ください」
競プロシステム「あなたは上限なのでもうあげません」
GHC「仕方ないな、じゃあガベージコレクションしてなんとかやりくりしよう」

ではなくて

GHC「記憶域ください」
競プロシステム「どうぞどうぞ」
GHC「どうも」
競プロシステム「はいそれは毒まんじゅうです。今のでMLEです」
GHC「えっ!!!!」

こうなんじゃないか?
ソースコードで「メモリ使用はは150MB以内で巧くやりくりしろ」とかって制限の指示できないんですか?

205 名前:デフォルトの名無しさん mailto:sage [2020/04/12(日) 23:16:24.10 ID:DjxEmd7z.net]
Haskellで競プロやるテクをまとめた同人誌があったような

206 名前:デフォルトの名無しさん mailto:sage [2020/04/12(日) 23:19:22.76 ID:BXIcY8lZ.net]
薄い本があったのか…

207 名前:デフォルトの名無しさん mailto:sage [2020/04/13(月) 04:15:51.10 ID:WjwyibsT.net]
mleってなに?
Maximum likelihood estimation しか思いつかん

208 名前:デフォルトの名無しさん mailto:sage [2020/04/13(月) 06:08:11.82 ID:Er/sUT94.net]
ぼくもそれしか…

209 名前:デフォルトの名無しさん mailto:sage [2020/04/13(月) 06:56:02.05 ID:rnoGia+U.net]
競プロ mle でググってみた

MLE
メモリリミットエラー(Memory Limit Error)の略
提出したプログラムが許可された以上のメモリを使用したときに出る
(一部のコンテストで採用されている表現)

210 名前:デフォルトの名無しさん mailto:sage [2020/04/13(月) 12:33:53 ID:tr0y4100.net]
>>202
とりあえずローカルでプロファイル取って実行してみると
スペースリークや大量のGCの原因が推定できるはず
(「Haskell プロファイラ」とかでぐぐって)
未評価のサンクが大量に積み上がっているとか、
イミュータブルな連結リストの使い方が悪くて
大量の一時リストを作ってしまっているとか
あたりじゃないかと想像してみる



211 名前:デフォルトの名無しさん mailto:sage [2020/04/13(月) 13:06:48.82 ID:pEw+DEbK.net]
タイムアウトのやつ
この問題やってて
ttps://www.codewars.com/kata/54d496788776e49e6b00052f/train/haskell

通らないコードがこれ
sumOfDivided :: [Integer] -> [(Integer, Integer)]
sumOfDivided xs = map (\x -> (x,foldr (+) 0 (filter ((==0).(flip rem x) ) xs)) ) $ prime_factors ( product xs) 2
where
prime_factors 1 _ = []
prime_factors m n
| rem m n == 0 = n : (prime_factors (quot m n) $ n+1)
| otherwise = prime_factors m $ n+1

こういう感じでコード組み立てるんだけど、他の問題でもしょっちゅうタイムアウト起こしてる
応答の速いコードにするにはどんなふうに変えていけばいいかを知りたい
cで言うと値コピーしてソートしないでポインタでソートすると速いみたいな

212 名前:デフォルトの名無しさん mailto:sage [2020/04/13(月) 21:38:04.55 ID:tr0y4100.net]
>>209
どう改善すればいいかはすぐにはわからないが
prime_factors関数は末尾再帰ではない再帰をしているから容易にスペースリークしそうな感じはする






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<342KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef