関数型プログラミング言語Haskell Part34 (671レス)
関数型プログラミング言語Haskell Part34 http://mevius.5ch.net/test/read.cgi/tech/1639713446/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: デフォルトの名無しさん [] 2021/12/17(金) 12:57:26.37 ID:NPioGyUL 関数型プログラミング言語 Haskell について語るスレです。 Haskell Language(公式サイト) https://www.haskell.org/ 日本Haskellユーザーグループ - Haskell-jp https://haskell.jp/ 前スレ 関数型プログラミング言語Haskell Part33 https://mevius.5ch.net/test/read.cgi/tech/1581326256/ http://mevius.5ch.net/test/read.cgi/tech/1639713446/1
2: デフォルトの名無しさん [] 2021/12/17(金) 12:57:57.45 ID:NPioGyUL 過去スレ一覧 32) https://mevius.5ch.net/test/read.cgi/tech/1548720347/ 31) https://mevius.5ch.net/test/read.cgi/tech/1506447188/ http://mevius.5ch.net/test/read.cgi/tech/1639713446/2
3: デフォルトの名無しさん [] 2021/12/17(金) 12:58:25.90 ID:NPioGyUL 30) http://mevius.2ch.net/test/read.cgi/tech/1484491434/ 29) http://peace.2ch.net/test/read.cgi/tech/1436869629/ 28) http://peace.2ch.net/test/read.cgi/tech/1428535861/ 27) http://peace.2ch.net/test/read.cgi/tech/1420718555/ 26) http://peace.2ch.net/test/read.cgi/tech/1406436392/ 25) http://peace.2ch.net/test/read.cgi/tech/1393313450/ 24) http://toro.2ch.net/test/read.cgi/tech/1382705669/ 23) http://toro.2ch.net/test/read.cgi/tech/13761118
07/ 22) http://toro.2ch.net/test/read.cgi/tech/1364009659/ 21) http://toro.2ch.net/test/read.cgi/tech/1358702176/ 20) http://toro.2ch.net/test/read.cgi/tech/1350428908/ 19) http://toro.2ch.net/test/read.cgi/tech/1340760070/ 18) http://toro.2ch.net/test/read.cgi/tech/1331902463/ 17) http://toro.2ch.net/test/read.cgi/tech/1325510368/ 16) http://toro.2ch.net/test/read.cgi/tech/1317958045/ 15) http://hibari.2ch.net/test/read.cgi/tech/1310199414/ 14) http://hibari.2ch.net/test/read.cgi/tech/1299385928/ 13) http:
//hibari.2ch.net/test/read.cgi/tech/1286706874/ 12) http://hibari.2ch.net/test/read.cgi/tech/1272536128/ 11) http://pc12.2ch.net/test/read.cgi/tech/1252382593/ 10) http://pc12.2ch.net/test/read.cgi/tech/1231861873/ 09) http://pc11.2ch.net/test/read.cgi/tech/1211010089/ 08) http://pc11.2ch.net/test/read.cgi/tech/1193743693/ 07) http://pc11.2ch.net/test/read.cgi/tech/1174211797/ 06) http://pc11.2ch.net/test/read.cgi/tech/1162902266/ 05) http://pc8.2ch.net/test/read.cgi/tech/1149263630/ 04) http://pc8.2ch.net/
test/read.cgi/tech/1140717775/ 03) http://pc8.2ch.net/test/read.cgi/tech/1076418993/ 02) http://pc2.2ch.net/test/read.cgi/tech/1013846140/ 01) http://pc.2ch.net/tech/kako/996/996131288.html http://mevius.5ch.net/test/read.cgi/tech/1639713446/3
4: デフォルトの名無しさん [] 2021/12/17(金) 12:58:57.67 ID:NPioGyUL 関連サイト (英語) Haskell - Wikibooks, open books for an open world (ページ内に内容をまとめたPDFあり) https://en.wikibooks.org/wiki/Haskell Learn You a Haskell for Great Good! (『すごいHaskellたのしく学ぼう!』の無料オンライン版) http://learnyouahaskell.com/chapters Real World Haskell (同名書籍の無料オンライン版) http://book.realworldhaskell.org/read/ (以下、日本語) Haskell入門 5ステップ - HaskellWiki (公式サイト内、日本語入門セクション)
https://wiki.haskell.org/Haskell%E5%85%A5%E9%96%80_5%E3%82%B9%E3%83%86%E3%83%83%E3%83%97 Haskell - Wikibooks (上記Wikibooksの同タイトル日本語版。多くの項目が未編集) https://ja.wikibooks.org/wiki/Haskell A Gentle Introduction to Haskell, Version 98 http://www.sampou.org/haskell/tutorial-j/ Haskell のお勉強 http://www.shido.info/hs/ お気楽 Haskell プログラミング入門 http://www.nct9.ne.jp/m_hiroi/func/haskell39.html 本物のプログラマはHaskellを使う http://itpro.nikkeibp.co.jp/article/COLUMN/20060915/24821
5/ [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! http://gihyo.jp/dev/feature/01/functional-prog http://mevius.5ch.net/test/read.cgi/tech/1639713446/4
5: 1 [] 2021/12/19(日) 03:10:48.56 ID:7grgB8Yx あの伝説の岡部健が復活!! 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) https://twitter.com/5chan_nel (5ch newer account) http://mevius.5ch.net/test/read.cgi/tech/1639713446/5
6: デフォルトの名無しさん [] 2021/12/20(月) 09:52:21.45 ID:ZumN5JOf https://qiita.com/mod_poppo/items/a6317294ba1e39b1c3b3 コメント欄に毛の壁現る http://mevius.5ch.net/test/read.cgi/tech/1639713446/6
7: デフォルトの名無しさん [] 2021/12/20(月) 12:58:58.75 ID:oUGNvHUz >>6 また実名っぽいの出して荒らしてんのかあいつ http://mevius.5ch.net/test/read.cgi/tech/1639713446/7
8: デフォルトの名無しさん [] 2021/12/20(月) 20:14:33.16 ID:ceMzU2Ib 自分で召還しといて荒らしとかいうのやめようや。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/8
9: デフォルトの名無しさん [sage] 2021/12/20(月) 20:19:16.57 ID:NqO2QdlG Haskellの話じゃないんだからどこか他でやってくれ http://mevius.5ch.net/test/read.cgi/tech/1639713446/9
10: デフォルトの名無しさん [] 2021/12/20(月) 20:33:12.76 ID:ceMzU2Ib Excel VBAのスレでやるのか? http://mevius.5ch.net/test/read.cgi/tech/1639713446/10
11: デフォルトの名無しさん [sage] 2021/12/20(月) 21:06:24.55 ID:NqO2QdlG 毛の壁から国民を守る党 72議席目 https://lavender.5ch.net/test/read.cgi/net/1615613906/ http://mevius.5ch.net/test/read.cgi/tech/1639713446/11
12: デフォルトの名無しさん [] 2021/12/20(月) 23:17:06.32 ID:ceMzU2Ib 72スレ目って。 自分では気が狂ってることがわからないんだろな。 国民を守らなければ!って使命感があふれ出して72スレ。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/12
13: デフォルトの名無しさん [sage] 2021/12/21(火) 00:08:10.53 ID:S6JYHyb7 ご本人? http://mevius.5ch.net/test/read.cgi/tech/1639713446/13
14: デフォルトの名無しさん [sage] 2021/12/21(火) 06:55:32.78 ID:t7n7AMl6 a :: Int -> Int a 0 = 50^2 a n = round (sqrt (realToFrac n):: Float) 型変換なみだでてきた ghciプロンプトだと round (sqrt 50) 7 ちゃんと出るじゃねーか... http://mevius.5ch.net/test/read.cgi/tech/1639713446/14
15: デフォルトの名無しさん [] 2021/12/21(火) 10:17:23.12 ID:WtPb4PP+ >>6 酷すぎる http://mevius.5ch.net/test/read.cgi/tech/1639713446/15
16: デフォルトの名無しさん [sage] 2021/12/21(火) 11:09:52.33 ID:+QFtbkZ1 >>14 ghci 上で :t round . sqrt として a :: Int -> Int との違いを比べてみるとよいよ (あとリテラルの50はIntではない) 数(特に浮動小数点数)まわりの関数でなみだ出てくるのは多少同意 http://mevius.5ch.net/test/read.cgi/tech/1639713446/16
17: デフォルトの名無しさん [] 2021/12/21(火) 15:10:59.44 ID:XC3saJz0 >>6 こ、これはもしや・・・・あの!? http://mevius.5ch.net/test/read.cgi/tech/1639713446/17
18: デフォルトの名無しさん [] 2021/12/23(木) 17:28:45.18 ID:iaSGtOUq ken80297274 岡部さんのサブアカウント発見 http://mevius.5ch.net/test/read.cgi/tech/1639713446/18
19: デフォルトの名無しさん [] 2021/12/23(木) 20:30:31.33 ID:hyDq6lCn どんな人生を生きたら実名でこんな攻撃的な調子でtwitter上で不特定多数に絡みに行こうと思えるんだ 実際実社会で会ったらどんな感じの人なんだろう http://mevius.5ch.net/test/read.cgi/tech/1639713446/19
20: デフォルトの名無しさん [] 2021/12/23(木) 21:25:57.12 ID:cmpFYqPS 岡部健さんはアメリカのUCLA卒業と書いていたらしいので、情報技術の素養はあるんじゃないか? https://twitter.com/ohagiya/status/226163166067949568 http://archive.ph/1oA1C >>「まああれでUCLAとかよく嘘こけるよねー。 」 >とは、これも、僕が学歴詐称しているという野田憲太郎の妄想にはじまる >「バッシングに用いる好物のネタ」であり、もちろんそのような学歴詐称の事実などないし、それも名誉毀損として刑事告訴の要件に入っている。 https://twi
tter.com/5chan_nel (5ch newer account) http://mevius.5ch.net/test/read.cgi/tech/1639713446/20
21: デフォルトの名無しさん [] 2021/12/23(木) 21:27:02.59 ID:cmpFYqPS Twitterで ohagiya UCLA で検索すると岡部健さんの学歴にけちを付けてる人が出てくるね http://mevius.5ch.net/test/read.cgi/tech/1639713446/21
22: デフォルトの名無しさん [] 2021/12/23(木) 23:57:52.67 ID:MjSWMWRR ハリウッド映画でよくある、酒場でのウィットに富んだ大人の会話の一種では? 0時を過ぎると、酒瓶を割って拳で語り合う・・・いまその状態では? 夜が明けると、互いを理解し絆が深まる。 そして生涯の友となるのでは? http://mevius.5ch.net/test/read.cgi/tech/1639713446/22
23: デフォルトの名無しさん [] 2021/12/27(月) 09:38:29.17 ID:hZ17KgJk https://ken-okabe .hatenablog .com/entry/2021/12/20/134121 『結局は、あろうことか、当時のQiita運営がこういう匿名炎上目的のアカウントの思惑に乗っかる形で、僕の反論コメントを消してしまったので』 と書いてるので、当時nonstarterさんの記事のコメント欄に出没していたのは岡部健本人だったのかな。 ことあるごとに「岡部氏」って別人のように書いてたのにね http://mevius.5ch.net/test/read.cgi/tech/1639713446/23
24: デフォルトの名無しさん [] 2021/12/28(火) 01:15:18.08 ID:e4meyx5L 高度IT人材、富士通は最大年収3500万円へ 「富士通年収3500万!」日本のIT企業の年収も、高額化してきました AI人材の獲得に超本気 NECが新人事制度を9人に適用、富士通は最大年収3500万円へ 【年収3500万円も】富士通、「ジョブ型」人事制度を導入 幹部社員から 高度IT人材 来年度から副業解禁 人材多様化へ―大同生命次期社長 副業・兼務の解禁から4年、ロート製薬流で進めるキャリア支援 ロート製薬が副業をいち早く導入した「超人間的」な理由 ロート製薬会
長が「副業を受け入れない会社は発展しない」と断言する理由 http://mevius.5ch.net/test/read.cgi/tech/1639713446/24
25: デフォルトの名無しさん [] 2021/12/28(火) 08:27:45.42 ID:FaceSKSV https://mobile.twitter.com/matusita2012/status/172883696091791361 https://twitter.com/5chan_nel (5ch newer account) http://mevius.5ch.net/test/read.cgi/tech/1639713446/25
26: デフォルトの名無しさん [sage] 2021/12/31(金) 02:20:27.03 ID:aP8qPSMg シンプルなワードカウント書いたけど関数合成でワードカウントが組めません " ab ccc dd "を[0,1,1,0,1,1,1,0,1,1,0]みたいなリストに変換して ワードの数は3みたいな 以下普通に書いたワードカウント spwc4 :: [Char] -> Int spwc4 s = wc4 s 0 0 where wc4 :: [Char] -> Int -> Int -> Int wc4 [] l c = (c + (if l == 0 then 0 else 1)) wc4 (x:xs) l c | x == ' ' || x == '\t' || x == '\n' || x == '\r' = if l == 0 then wc4 xs 0 c else
wc4 xs 0 (c+1) | otherwise = wc4 xs (l+1) c 文字列を chkspand :: Char -> Int chkspand c = if c == ' ' || c == '\t' || c == '\n' || c == '\r' then 0 else 1 に与えて[0,1,1,0,0,1]みたいなリストに変換 これを関数合成でカウントすると内部状態を保持する必要で困惑中 wordcount . map chkspand $ " asas df df" みたいな書き方がしたい http://mevius.5ch.net/test/read.cgi/tech/1639713446/26
27: デフォルトの名無しさん [sage] 2021/12/31(金) 03:53:55.07 ID:aP8qPSMg 自己解決したけどデータが多いとスタックが... >countword . countchars . map chkspand $ " 1313 13 111 rfr fdf" >5 http://mevius.5ch.net/test/read.cgi/tech/1639713446/27
28: デフォルトの名無しさん [sage] 2021/12/31(金) 14:45:34.52 ID:KqmzC1Ir リストみたいなただのデータコンストラクタだったら、いくら長くてもスタック関係ないのに リストをfoldrしたような物が出てくるとスタックでみんな躓く http://mevius.5ch.net/test/read.cgi/tech/1639713446/28
29: デフォルトの名無しさん [] 2021/12/31(金) 14:58:51.96 ID:bqUePCKa スクラッチで書くなら(0:)で0を追加して(0:1:_)をカウントしていくんだろうな chkspand :: Char -> Int chkspand c = if c == ' ' || c == '\t' || c == '\n' || c == '\r' then 0 else 1 wordcount = let iterator [ ] = 0 iterator ( 0: 1: xs ) = 1 + ( iterator xs ) iterator ( x : xs ) = iterator xs in iterator . ( 0 : ) main = do print $ map chkspand $ " asas df df" print $ wordcount . map chkspand $ " asas df df" htt
p://mevius.5ch.net/test/read.cgi/tech/1639713446/29
30: デフォルトの名無しさん [sage] 2021/12/31(金) 16:30:35.01 ID:aP8qPSMg >>29 wc5 = let iterator [] = 0 iterator (0:1:xs) = 1 + (iterator xs) iterator (x:xs) = iterator xs in iterator . ((0::Int) :) wc5 . map chkspand $ "0 hushjuh hhuj 89 546456" 5 上手く行きました イテレータのパターンマッチ目からウロコ http://mevius.5ch.net/test/read.cgi/tech/1639713446/30
31: デフォルトの名無しさん [sage] 2021/12/31(金) 20:42:25.11 ID:aP8qPSMg >>30のこれ iterator (0:1:xs) = 1 + (iterator xs) 内部で 1+1+1+1+...が積みあがって最後に計算されるの? http://mevius.5ch.net/test/read.cgi/tech/1639713446/31
32: デフォルトの名無しさん [] 2021/12/31(金) 20:58:03.01 ID:bqUePCKa >>31 それは処理系のimplement依存だから一概には言えないけど多分stack上に(1+)関数が乗っていって最後に確定した0が入ってから計算しそうな気がする http://mevius.5ch.net/test/read.cgi/tech/1639713446/32
33: デフォルトの名無しさん [sage] 2021/12/31(金) 21:10:21.51 ID:aP8qPSMg >>32 了解しました http://mevius.5ch.net/test/read.cgi/tech/1639713446/33
34: デフォルトの名無しさん [sage] 2022/01/02(日) 20:44:02.99 ID:OOMiLRw0 >>30ちょと改変 wc6 = let iter n [] = z iter n (False:True:xs) = let n' = n + 1 in seq n' $ iter n' xs iter n (x:xs) = iter n xs in (iter 0) . (False :) wcc = wc6 . map chkspand2 これのseq n'が効けば+1+1+1+1が積みあがらないはず http://mevius.5ch.net/test/read.cgi/tech/1639713446/34
35: デフォルトの名無しさん [sage] 2022/01/02(日) 21:09:40.82 ID:OOMiLRw0 ghciで確認 >>30はスタックオーバーフローで止まった >>34は止まらないからctr-Cで止めた http://mevius.5ch.net/test/read.cgi/tech/1639713446/35
36: デフォルトの名無しさん [sage] 2022/01/03(月) 00:17:58.15 ID:eS7vipFo OOPでも、整数を他のオブジェクトとは全然違う形式にしないと 計算が遅過ぎてダサくなるよね 逆にオブジェクトの方を整数と同じようなGC非依存みたいな構造にする手もあるか http://mevius.5ch.net/test/read.cgi/tech/1639713446/36
37: デフォルトの名無しさん [] 2022/01/03(月) 08:08:25.82 ID:hLrwvjQQ まぁコレは趣味による Haskellでは性能面より可読性を重視するからな それも使う人次第だけど >>34のようにすればメモリも時間も節約できるけど可読性は失われる どこまで我慢するかだけどオレは計算時間もメモリも線形までなら我慢して可読性を重視する >>34だと入力に比例して要求されるスタック量が増える 線形までならしょうがないと思う どのみち入力が大きくなるにつれてシステムが大きくなるのは元々しょうがないんだしその時の比例定数の違いまでなら我慢
する 今具体的にやりたいことがあってその線形オーダーの無駄すら許されない状況なら考えるけど http://mevius.5ch.net/test/read.cgi/tech/1639713446/37
38: デフォルトの名無しさん [sage] 2022/01/03(月) 11:20:12.64 ID:TEX8BSo6 >>37 今回のお題はワードカウント、ファイルサイズがギガになる場合を想定 スタックなりヒープなりを消費しない手法は?です Cなどで実装した場合、ループでカウントして再帰なしスタックもヒープも消費なしとか(可読性は...) 他にマルチスレッドで分割カウントした時の手法とか(ディスクのIOで律速か) http://mevius.5ch.net/test/read.cgi/tech/1639713446/38
39: デフォルトの名無しさん [] 2022/01/03(月) 12:59:34.38 ID:hLrwvjQQ 今回の場合1ワード消費するたびにスタック一個消費するから必要なメモリリソースが倍以上になる可能性もあるから意味はあるかな 特にコレは>>34の方法だと必要なメモリリソースがデータ保持する分を除けばlogオーダーになるからな しかも読み込んだデータは順次捨てていけるし(そこまでのカウント結果を保持しないといけないので有限オートマトンでは無理だけど有限オートマトン以上、チューリング完全以下、こういう計算クラスは名前ついてるのかな?) 個人的にはこう
いうときメモリ線形、時間線形までは許さないと大した事できないことが多いのでそれ以上のこだわりは持たないようにしてる 数学的研究対象とかにするなら別だけど http://mevius.5ch.net/test/read.cgi/tech/1639713446/39
40: デフォルトの名無しさん [sage] 2022/01/03(月) 15:29:08.17 ID:TEX8BSo6 >>39 今回なにを確認したのか それは、Cで組むような単純繰り返しを同じ感覚でヒャッハーとhaskellの遅延評価で行うと ヤバイと言う教訓とそれを回避する手法 http://mevius.5ch.net/test/read.cgi/tech/1639713446/40
41: デフォルトの名無しさん [] 2022/01/04(火) 16:11:04.31 ID:h755Av8k Haskellを身に付けた人は他の言語も使えると予想しますが、いくつもの言語の中からHaskellを選んで プログラムを書くのはどんな課題、問題を解決したいときなんでしょうか http://mevius.5ch.net/test/read.cgi/tech/1639713446/41
42: デフォルトの名無しさん [sage] 2022/01/04(火) 16:44:18.80 ID:HuVGMWib 課題が「ガベージをコレクトしたい」だけだったとしても じゃあ静的型は不要だとかジェネリクスは不要だとはならない だから課題と関係ない部分を作り込む http://mevius.5ch.net/test/read.cgi/tech/1639713446/42
43: デフォルトの名無しさん [] 2022/01/05(水) 10:28:01.47 ID:imDyM2+l Twitterの検索で @ohagiya @kenokabe と入れると楽しいよな http://mevius.5ch.net/test/read.cgi/tech/1639713446/43
44: デフォルトの名無しさん [] 2022/01/11(火) 17:47:50.88 ID:rZde0CTm >>43 ひどすぎるだろこれ 可哀想に http://mevius.5ch.net/test/read.cgi/tech/1639713446/44
45: デフォルトの名無しさん [] 2022/01/14(金) 10:48:22.13 ID:3PF6dXYX 最新の怪文書も読んだけどさ、毛の壁は毎回毎回威勢だけは良いんだよなw たとえば「ちくわは民事でもやる!」「ちくわはもう詰み」(9年前) 「ちくわはもう死に体」(7年前)とかさ。 死に体なのに、つい最近もブログで恨み節w ネズミ一匹、始末できないなんてだらしがないな http://mevius.5ch.net/test/read.cgi/tech/1639713446/45
46: デフォルトの名無しさん [] 2022/01/15(土) 18:49:30.83 ID:chCIM2fB 質問です array と List の性能の差がいまいちピンと来ません 何か「この例ではどう考えてもarray、ほらこんなに性能に差が出る」って例ご存知ないですか? http://mevius.5ch.net/test/read.cgi/tech/1639713446/46
47: デフォルトの名無しさん [] 2022/01/16(日) 12:22:44.80 ID:f2QwXzzi 質問です 何かの文章で square x = x*x print $ square $ square 3 のようなプログラムをHaskell は square $ square 3 → square ( square 3 ) → ( square 3 ) * ( square 3 ) → ( 3 * 3 ) * ( 3 * 3 ) のようになる コレを避けるためにseqを使えばよいとあったのですが試しに import Debug.Trace square x = x * x const3 = trace "*" 3 main = do print $ square $ square $ square $ square $ square $ square $ square $ square $ square $ square $ sq
uare $ square $ square $ square $ square $ const3 みたいなプログラムで試してみました もし説明通りならconst3が2^15回呼ばれて*がいっぱい出てきそうですが、やってみると*は一個しか出てきません コレは何故ですか? ちなみにghcです ghcがconst3の結果を自分で勝手に“メモ化”してよきにはからってくれているんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1639713446/47
48: デフォルトの名無しさん [sage] 2022/01/16(日) 13:40:56.61 ID:rC9oNTrC メモ化は独自実装ではなく仕様 何かの文章は嘘 でも騙されたことがないので被害が存在しないし、加害者も存在しない http://mevius.5ch.net/test/read.cgi/tech/1639713446/48
49: デフォルトの名無しさん [] 2022/01/16(日) 14:36:08.72 ID:f2QwXzzi >>48 仕様なんですか? Language Reportかなんかに書いてありますか? http://mevius.5ch.net/test/read.cgi/tech/1639713446/49
50: デフォルトの名無しさん [] 2022/01/16(日) 14:39:15.35 ID:f2QwXzzi 何かの文章は "ウォークスルー Haskell" というやつでした http://walk.northcol.org/haskell/eval-strategies/ 3 ではなく 1 + 2 でやってました http://mevius.5ch.net/test/read.cgi/tech/1639713446/50
51: デフォルトの名無しさん [sage] 2022/01/16(日) 18:39:45.50 ID:ZlAL8rfa seqだと結果はどうなるんですか? http://mevius.5ch.net/test/read.cgi/tech/1639713446/51
52: デフォルトの名無しさん [] 2022/01/16(日) 18:54:16.95 ID:f2QwXzzi >>51 square x = x * x を square x = seq x $ x * x にして明治的に“xを評価してからx*xを計算せよ”に変えるともちろん*ひとつです それは納得いきます ウォークスルーHaskellにもそうなると書いてあるしHaskell Language Report 2010にもseqで正格評価になると書いてあります なのでコレは納得いくんですがseqなしの場合の動作が文書と異なるように見えます もちろん参照透過性があるので一度計算した結果をメモ化して再利用しても同じ答えにならないといけない
ので答え自体は同じになるわけですけど コレはたまたまGHCの開発者が優秀でHaskellの標準動作としては保証されない事までやってくれてるだけなのか、標準動作としてメモ化しないといけないことになってるのかどっちだろうと 今のところ今自分が勉強してるプログラムにはseq入れて明治的に正格評価してもらってるんですけど標準でメモ化してくれるなら消せるしスッキリするし、あるいは明示しないと他の処理系だとしてくれないなら残しとかないといけないし http://mevius.5ch.net/test/read.cgi/tech/1639713446/52
53: デフォルトの名無しさん [] 2022/01/17(月) 04:24:56.47 ID:FNscPcIY 銀の弾丸のHaskellをIT企業が採用したら市場を席捲できるのでは??? 実際そうなると思う? http://mevius.5ch.net/test/read.cgi/tech/1639713446/53
54: デフォルトの名無しさん [sage] 2022/01/17(月) 13:17:04.94 ID:3dpBVALW Windows10にVSCode入れて、Haskellを遊ぼうとしたけど上手く入らない。 コマンドラインで細かく入れて遊ぶしかないかな。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/54
55: デフォルトの名無しさん [sage] 2022/01/18(火) 00:23:47.53 ID:1uCkeDxh https://www.haskell.org/ghcup/ >GHCup is an installer for the general purpose language Haskell. http://mevius.5ch.net/test/read.cgi/tech/1639713446/55
56: デフォルトの名無しさん [] 2022/01/27(木) 08:50:29.18 ID:NJ4yaxSd https://qiita.com/lucker_summer/items/baa68e681872de44d5f8 コメント欄ひどすぎだろ @stken2050(これ岡部健)が非道いので皆さん通報してほしい http://mevius.5ch.net/test/read.cgi/tech/1639713446/56
57: デフォルトの名無しさん [sage] 2022/01/27(木) 10:10:34.06 ID:orDFdZXN 毛さんは昔から色々酷いが >>56のコメ欄の流れだけでいうと単に@Zuishinが分が悪いわ 珍妙な独自用語は早めに芽を摘まないといけない http://mevius.5ch.net/test/read.cgi/tech/1639713446/57
58: デフォルトの名無しさん [] 2022/01/27(木) 11:59:44.42 ID:oUTYjCet 岡部さんこんにちは http://mevius.5ch.net/test/read.cgi/tech/1639713446/58
59: デフォルトの名無しさん [] 2022/01/27(木) 12:03:44.88 ID:eY59BLQP https://twitter.com/mutamac/status/322296035147935744 引用 「Linuxの元になったMINIXが復権中。期待。」という自称ギークとの話』の魚拓を取りました http://nmuta.dip.jp/~muta/toog237.pdf https://twitter.com/5chan_nel (5ch newer account) http://mevius.5ch.net/test/read.cgi/tech/1639713446/59
60: デフォルトの名無しさん [] 2022/01/27(木) 23:00:32.74 ID:7u9WcLA6 そうじゃなくて、PHPやHaskellごときが偉そうにすんなって事だろ。 質問者が来たらお茶菓子くらい出せ。 底辺やマイナー言語はそうするべき。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/60
61: デフォルトの名無しさん [sage] 2022/01/28(金) 01:07:24.72 ID:dNnJMVwD 誰かをディスるよりも、こういう話の方が面白くない? https://www.reddit.com/r/haskell/comments/s7p29y/letin_vs_function_application_space_leaks/ http://mevius.5ch.net/test/read.cgi/tech/1639713446/61
62: デフォルトの名無しさん [sage] 2022/01/28(金) 09:50:56.34 ID:F+QYYxM3 >>60 そもそも質問者が来たと思ってないんだろう 強いて言うなら「命令者」が来たと思われてるね http://mevius.5ch.net/test/read.cgi/tech/1639713446/62
63: デフォルトの名無しさん [] 2022/02/01(火) 14:44:50.86 ID:VXi8EI6O Qiitaの運営どうなってんのこれ https://qiita.com/lucker_summer/items/baa68e681872de44d5f8#comment-ceab8639f8275f297563 http://mevius.5ch.net/test/read.cgi/tech/1639713446/63
64: デフォルトの名無しさん [] 2022/02/01(火) 15:19:04.39 ID:rr+/bjEX https://twitter.com/kuratan/status/114732100682391552 https://twitter.com/5chan_nel (5ch newer account) http://mevius.5ch.net/test/read.cgi/tech/1639713446/64
65: デフォルトの名無しさん [sage] 2022/02/01(火) 18:35:16.11 ID:e9RXuv9o >>56 どいつも誰だか知らんしどーでも良いが 見た感じ、@Zuishinの記事は確かにしょぼい記事だが、@stken2050の反論にも無理があるな @Zuishinに関しては、大きな主張をしている割に根拠がかなりしょぼいせいで、記事として価値が低くなっているように思える 対する@stken2050の反論だが、「排他的ではないので反対ではない!」云々は無理がありすぎ 「反対」という自然言語の単語が元々ガバガバなのは誰だって知ってるんだから、それに対して自分で勝手に厳密
な定義を与えて、その定義に基づいて矛盾を指摘したって、そりゃ「日本語わかりますか」言われるわ さらに@stken2050の反論ではwikipediaと異なる高階関数の定義を使っているが、それならwikipedia以上に信憑性の高いソース出して、英語版wikipediaに書かれている高階関数の定義に疑問を呈するのが筋 それをしてないせいで論理的にぶっ飛んで見える http://mevius.5ch.net/test/read.cgi/tech/1639713446/65
66: デフォルトの名無しさん [] 2022/02/02(水) 12:32:50.68 ID:4gWS4lIC >>63 無事、記事が凍結されたね http://mevius.5ch.net/test/read.cgi/tech/1639713446/66
67: デフォルトの名無しさん [] 2022/02/04(金) 08:30:39.02 ID:iaw7RH3I 完全に荒らしやろあれ http://mevius.5ch.net/test/read.cgi/tech/1639713446/67
68: デフォルトの名無しさん [sage] 2022/02/08(火) 08:58:59.73 ID:t2yWr+Jt Haskellって日本人に受けそうで実際一時期話題になったけど 結局下火になっちゃったね なんでだろう http://mevius.5ch.net/test/read.cgi/tech/1639713446/68
69: デフォルトの名無しさん [] 2022/02/08(火) 12:34:20.88 ID:iTFetD6R haskellでしばらく何かを学んだら、元いたところに帰っていくんじゃないかな http://mevius.5ch.net/test/read.cgi/tech/1639713446/69
70: デフォルトの名無しさん [sage] 2022/02/09(水) 10:14:27.54 ID:9eeUOmy1 型とGCが下火になったから 型無しならPython GC無しならRustに行く http://mevius.5ch.net/test/read.cgi/tech/1639713446/70
71: デフォルトの名無しさん [sage] 2022/02/09(水) 10:49:56.61 ID:Lp+6eS6t 型下火になることなんてある? http://mevius.5ch.net/test/read.cgi/tech/1639713446/71
72: デフォルトの名無しさん [sage] 2022/02/09(水) 13:51:00.40 ID:LMpY9ePh >>70の中では下火になったんだろ http://mevius.5ch.net/test/read.cgi/tech/1639713446/72
73: デフォルトの名無しさん [sage] 2022/02/09(水) 14:32:04.90 ID:4IAm5Mq6 両方なしならどこへ行けばいい? http://mevius.5ch.net/test/read.cgi/tech/1639713446/73
74: デフォルトの名無しさん [sage] 2022/02/09(水) 16:30:45.01 ID:tjRbJd/i 両方ないならAPIと言語が無関係なクラウドみたいな感じになりそう http://mevius.5ch.net/test/read.cgi/tech/1639713446/74
75: デフォルトの名無しさん [sage] 2022/02/09(水) 19:00:25.72 ID:/Rs/AQCx Cじゃだめなん? あと、型なしじゃなくて、動的型で良ければ、 Objective-Cがかなり自由度高かった気がする。 http://mevius.5ch.net/test/read.cgi/tech/1639713446/75
76: デフォルトの名無しさん [sage] 2022/02/10(木) 14:08:35.36 ID:Rx8BtNec 単純に難しいからだろ 元の言語仕様はシンプルなのに、ソフトウェア工学的なノウハウに基づいてOOPと同等以上の実装を実現しようとすると、とたんに大量のGHC拡張と難解な型が出てきてわけわからんくなる http://mevius.5ch.net/test/read.cgi/tech/1639713446/76
77: デフォルトの名無しさん [sage] 2022/02/10(木) 17:05:47.42 ID:0/0SR33O lensの型とか複雑すぎる http://mevius.5ch.net/test/read.cgi/tech/1639713446/77
78: デフォルトの名無しさん [sage] 2022/02/11(金) 01:01:15.27 ID:oG7lMZNP setterの存在自体がマナー違反ということにすればある意味単純なんだよ マナー違反したせいで複雑すぎるのは自己責任、言語のせいにするなってね http://mevius.5ch.net/test/read.cgi/tech/1639713446/78
79: デフォルトの名無しさん [] 2022/02/12(土) 14:38:21.43 ID:3EVMkjej 岡部健 http://mevius.5ch.net/test/read.cgi/tech/1639713446/79
80: デフォルトの名無しさん [sage] 2022/02/12(土) 14:59:18.26 ID:MmDcA0PA >>79 こいつに“H“はムリ(爆) “三擦り半“で昇天するよw http://mevius.5ch.net/test/read.cgi/tech/1639713446/80
81: デフォルトの名無しさん [sage] 2022/02/13(日) 02:50:13.95 ID:gJE3VDE6 GHC方言とかの知識が豊富な奴ってどちらかといえば反抗的な性格だと思う それなのに、オリジナルの仕様への忠誠心が高ければ高いほど有能みたいな誤解がある その上更にいかにも忠誠心なさそうなキャラまで作られてるし http://mevius.5ch.net/test/read.cgi/tech/1639713446/81
82: デフォルトの名無しさん [] 2022/02/14(月) 11:54:21.19 ID:4AqyxcJv 最近数値計算の勉強してるんですけど、よく最近高速フーリエ変換を用いた乗算の高速化なんて話が出てきます サイズの大きい整数の掛け算とかを高速化する手法で桁数n同士の乗算のコストをn log(n)に抑えるのだとか これGHCのInteger型の乗算には応用されてますかね? やっぱりそこまで速さに拘りたいならご自分でのスタンス? GHCのソースが読めるほどのスキルはないのでよくわからない そもそもGHCのソースってどこに転がってます? http://mevius.5ch.net/test/read.cgi/te
ch/1639713446/82
83: デフォルトの名無しさん [sage] 2022/02/14(月) 20:10:36.04 ID:TSLH56nb >>82 ghc haskell ソース でググれば見つかる http://mevius.5ch.net/test/read.cgi/tech/1639713446/83
84: デフォルトの名無しさん [sage] 2022/02/14(月) 20:56:01.04 ID:uQiQyHca ソースを1行も読まなくても分かることがいくつかある IntとIntegerの二刀流ができるなら三刀流もできること 第二第三の型を追加するだけのためにコンパイラをコンパイルするのは無意味過ぎること http://mevius.5ch.net/test/read.cgi/tech/1639713446/84
85: デフォルトの名無しさん [] 2022/02/14(月) 21:36:02.36 ID:4AqyxcJv >>82 見つからないorz >>83 ちょっと数値計算の練習したいんですよ 例えば円周率10万桁とか さすがに10万桁とかだとghcはデフォルトでは対応してくれないのかなと 仮にできるにしても10万桁×10万桁の計算で桁数^2オーダーで計算したのではその一個の掛け算で何年もかかってしまうことになりかねません ただのarrayやlistなら10万要素位は扱ってくれそうですけど ただHaskellでその手の大量データを扱うのは色々難しい問題があるらしいと言う話は聞いてたので今
までは「そういうのはHaskellは向かない、そういう時はC」とか使い分けてました しかしやはりHaskellでできないのは面白くないのでHaskellでもそういうでかいデータを扱えるスキルを身につけたいなぁというのもあります まぁまだFFTでの掛け算プログラム勉強し始めたばっかりなので先は長そうですけど とりあえず[Double]のFFTと逆FFT作ったとこまではやったんです でもそこまで作って「アレ?もしかしてこんなの自作しなくてもそもそもHaskellのIntegerが最初からFFTで掛け算してるとかあるかも?GHCの開発者メチャメチャ優秀っぽいし」と思った次第
http://mevius.5ch.net/test/read.cgi/tech/1639713446/85
86: デフォルトの名無しさん [] 2022/02/14(月) 21:36:29.77 ID:4AqyxcJv あら、アンカー一個ずれ http://mevius.5ch.net/test/read.cgi/tech/1639713446/86
87: デフォルトの名無しさん [sage] 2022/02/14(月) 21:54:21.41 ID:BjFXlOcH GMP使ってるかもしれないし使ってないかもしれないらしい[1] GMP使ってるならFFTベースのSchonhage-Strassenが働くしGMP使いたいならライブラリ[2]がある [1]https://stackoverflow.com/questions/57688078/what-is-the-algorithm-used-in-integer-multiplication [2]https://hackage.haskell.org/package/integer-gmp http://mevius.5ch.net/test/read.cgi/tech/1639713446/87
88: デフォルトの名無しさん [] 2022/02/14(月) 23:13:34.14 ID:4AqyxcJv >>87 おお、thx なるほどGMPというのを使ってるんですね --Stack excangeより GMP appears to use Schonhage-Strassen, but not until you start dealing with numbers with 10s of thousands of decimal digits. GMPではSchonhage-Strassenを使用しているようですが、小数点以下が何万桁もあるような数字を扱うようになるまでは、このようなことはないようです。 --wikiより GMPは、どんなオペランドの大きさでも他の多倍長整数ライブラリよりも高速であることを目
標としている。このために、以下の点を重視している。 基本算術型としてフルワードを使う。 オペランドの大きさによってそれぞれ異なるアルゴリズムを使う。非常に大きな数に有効なアルゴリズムは、小さい数では遅いことが多い。 ---- 要するに自分でわざわざSchonhage-Strassenのアルゴリズム実装しなくてもそもそもintegerで実装済みという事ですね そうじゃないかと思ったw そりゃそうでしょうねぇ、こんな優秀なソフトが数値計算理論の最新の成果取り入れてないわけがないw 10万桁とかIntegerで扱えるのかな? 実はData.FixedにあるFixed aで100
桁くらいは余裕というのは確認済みなんです 週末にでも桁数増やして実験してみます ありがとうございました http://mevius.5ch.net/test/read.cgi/tech/1639713446/88
89: デフォルトの名無しさん [sage] 2022/02/15(火) 00:40:37.96 ID:2crEr/EW Haskellの多倍長計算、昔は大変だったけど今はよくなった、みたいな記事が10年前くらいに書かれてた http://tanakh.jp/posts/2012-03-08-pi.html http://mevius.5ch.net/test/read.cgi/tech/1639713446/89
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 582 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.017s