[表示 : 全て 最新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/

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関数は末尾再帰ではない再帰をしているから容易にスペースリークしそうな感じはする

213 名前:デフォルトの名無しさん mailto:sage [2020/04/14(火) 00:39:23 .net]
できるだけリストを避けて
読み込みもByteString 版 getContents と readInt の組み合わせで高速化
そして困ったときの Data.Sequence 様やで!

C系提出者は軒並み 0.1 s で処理を終えている中、220MB 1.9 s 弱かけてなんとか致命傷でかいくぐった
制限超過してる気がするが、マイナー言語へのアファーマティブアクションかな?
くぅ〜疲れましたw これにて AC です!



214 名前:デフォルトの名無しさん mailto:sage [2020/04/14(火) 01:34:33 .net]
>>209
prime_factorsだけど
quotRem なら一回で両方得られる
探索は3から+2ずつ探すべき
n が√m を超えてしまったら探索を打ち切るべき

リストの整数全部に出てくる素因数を予めリストアップしたいんだろうけど
そのprime_factorsだと絶対に素因数が存在しない、(2を除く)偶数空間と√mの後の空間をmに達するまで探していてとてもとても無駄
この無駄はmが大きいほど酷いことになるが、見事に君のコードはproductなんてしてmを巨大化させている
例えば、1000000 の素因数は少なくとも1000 以降は存在しないのに1001, 1002, 1003, ... , 999998, 999999, 1000000 まで探すところを想像してみて

一目気づいたのはそんなところかね。先ずはそこを直してから一局といったところか

215 名前:デフォルトの名無しさん mailto:sage [2020/04/14(火) 01:52:08 .net]
>>208
まあ最終手段はそうなるんでしょうね
しかし早すぎる段階での最適化はたいてい悪手って言われてるし
その前に、アルゴリズムの選定が間違ってるんではとなって、あれこれ作戦変えて
いつしか通るわけです。すると結局いつまで経ってもプロファイリングを練習する機会が来ないんですよね

216 名前:デフォルトの名無しさん mailto:sage [2020/04/14(火) 01:54:06 .net]
あ、いや、あれこれ作戦変えるヒントを得る為にプロファイリングするのか・・・
やっぱり手を出してみるか

217 名前:デフォルトの名無しさん mailto:sage [2020/04/14(火) 10:48:29 ID:Ez55nAck.net]
異世界人「アルゴリズムをあれこれ変える」
主人公「言語をあれこれ変えてみよう」

218 名前:デフォルトの名無しさん mailto:sage [2020/04/14(火) 11:07:53 ID:aAi/G6aw.net]
時間とメモリ両面のcomplexity考えるのは最適化以前の話

219 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 17:46:40 ID:/WUIZ9Nz.net]
>>212
39の素因数って3,13よね?
√39が6くらいだから探索区間は√mじゃ不十分かなって
でも確かに偶数はいらないから2:[3,5..]でいいね
全部の素因数のリスト作るのに全部掛け合わせて処理はひどいなと見直して思った
リストは早くするなら使わない方針なのね

Quatremとリスト以外(sequenceが代替?)調べて組み込んでみようかな

220 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 17:47:28 ID:/WUIZ9Nz.net]
お礼書き忘れたすみません
回答ありがとうござ

221 名前:「ますなんとか通ってもらいます []
[ここ壊れてます]

222 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 19:54:09 ID:JKZ0KcR7.net]
>>217
なんの話かよく知らないけど39を素因数分解してるのなら、
約数として3が見つかったら、その時点でもう39が素数じゃないことが判明するから、13を調べる必要ないよ
√39以下の数字調べればオッケー

223 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 19:55:22 ID:JKZ0KcR7.net]
間違えた
「素因数分解してるのなら」じゃなくて「素数判定してるのなら」だった



224 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 01:02:59.81 ID:6p+dWGIK.net]
>>209
計算速度や使用メモリ量以前に、解が正しくないよ。
試しに sumOfDivided [8] やってみ。

もう少し言うと、prime_factors 関数がおかしい。
関数名に相応しくない計算をしていられる。

まずは、必要な個数の正しい素数列を作ることを考えた方がいいと思うぞ。

225 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 01:13:24.21 .net]
>>217
あ、説明で嘘を吐いてしまった。確かに√m以降に素因数は存在しないは偽だった
それでも尚、√で打ち切っていい手筋は揺るがない。
√39より前の3を発見して、39 `quot` 3 (=13) に対して再帰的に同じことをする
ただし割ることを試すのは今割り切れた素数からね(同じ素数で複数回われることもある)。
もう一回3で割ろうとして失敗し、次は√13 を超えるので打ち切って、13 は素数と判定してリストに加える
だから結果として、√m 以降の素因数を取りこぼすことはない

226 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 09:43:04 ID:xRrLSzP4.net]
>>222
素数系のアルゴリズムは手続き的にはよく知られたものが色々あるけど
それをHaskellっぽく(宣言的に)定義しろって言われると割と悩む
STMonadとか使えば手続き的な実装はできるけど何かに負けた気分になる

227 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 12:23:07.85 ID:DtoAMVDb.net]
速度あげようと思ったら、どうのように計算するかということに介入する必要があるから手続き的になるのはしょうがないのでは

228 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 14:44:08.63 ID:ta7mONc0.net]
魔法を使える主人公がなぜか銃を乱射するというマナー違反
を許せない真面目系脇役の魅力

229 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 17:52:04.90 .net]
騎士道はCで書くなど、汚い真似をして勝つことを認めていない

230 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 18:51:48.64 ID:Tw57yEwr.net]
ごきげんよう、高貴なるhaskellプログラマの皆様方
今日も可憐におプログラミングですことよ
ほほほ

231 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 23:16:02 ID:kOeZUqy9.net]
haskellマスターすると新型コロナにかからないってよ

232 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 03:43:48.65 ID:ehKqAcW4.net]
コロナ菌に強い言語なん?

233 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 11:31:33.48 ID:v8V9P+IO.net]
C言語プログラムなどを実行すると電磁波の影響で身体への副作用が発生するからな
副作用を抑え人間本来の自然な免疫力を高めるのがhaskell



234 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 12:26:02 ID:kkncOpcu.net]
haskellマスターで彼女ができました!

235 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 13:41:19 ID:urv0mT/N.net]
>>230
我慢できずにモナドに手を出して感染する事例が後を立たない
モナドは自粛すべきと何度も言われているのに
屁理屈をこねて手を出す者が多すぎる

本当にHaskellに副作用がないのだと詭弁を弄せずごり押しするのならば
絶対にモナドをやるべきではないと言われている






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

前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