◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

関数型プログラミング言語Haskell Part34 ->画像>1枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1639713446/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん2021/12/17(金) 12:57:26.37ID:NPioGyUL
関数型プログラミング言語 Haskell について語るスレです。

Haskell Language(公式サイト)
https://www.haskell.org/
日本Haskellユーザーグループ - Haskell-jp
https://haskell.jp/

前スレ
関数型プログラミング言語Haskell Part33
http://2chb.net/r/tech/1581326256/

2デフォルトの名無しさん2021/12/17(金) 12:57:57.45ID:NPioGyUL

3デフォルトの名無しさん2021/12/17(金) 12:58:25.90ID: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/1376111807/
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

4デフォルトの名無しさん2021/12/17(金) 12:58:57.67ID: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/248215/

[入門]関数プログラミング―質の高いコードをすばやく直感的に書ける!
http://gihyo.jp/dev/feature/01/functional-prog

512021/12/19(日) 03:10:48.56ID:7grgB8Yx
あの伝説の岡部健が復活!!
https://twitter.com/ken74047924


(おまけ情報)
Quoraでも有名だった岡部健、2021年12月にTwitterのアカウントまたまた永久凍結される。
当時のアーカイブは多少ネットに残ってるらしい

https://twitter.com/KenSmooth5
関数型プログラミング言語Haskell Part34 ->画像>1枚
https://twitter.com/5chan_nel (5ch newer account)
https://twitter.com/5chan_nel (5ch newer account)

6デフォルトの名無しさん2021/12/20(月) 09:52:21.45ID:ZumN5JOf
https://qiita.com/mod_poppo/items/a6317294ba1e39b1c3b3

コメント欄に毛の壁現る

7デフォルトの名無しさん2021/12/20(月) 12:58:58.75ID:oUGNvHUz
>>6
また実名っぽいの出して荒らしてんのかあいつ

8デフォルトの名無しさん2021/12/20(月) 20:14:33.16ID:ceMzU2Ib
自分で召還しといて荒らしとかいうのやめようや。

9デフォルトの名無しさん2021/12/20(月) 20:19:16.57ID:NqO2QdlG
Haskellの話じゃないんだからどこか他でやってくれ

10デフォルトの名無しさん2021/12/20(月) 20:33:12.76ID:ceMzU2Ib
Excel VBAのスレでやるのか?

11デフォルトの名無しさん2021/12/20(月) 21:06:24.55ID:NqO2QdlG
毛の壁から国民を守る党 72議席目
http://2chb.net/r/net/1615613906/

12デフォルトの名無しさん2021/12/20(月) 23:17:06.32ID:ceMzU2Ib
72スレ目って。
自分では気が狂ってることがわからないんだろな。
国民を守らなければ!って使命感があふれ出して72スレ。

13デフォルトの名無しさん2021/12/21(火) 00:08:10.53ID:S6JYHyb7
ご本人?

14デフォルトの名無しさん2021/12/21(火) 06:55:32.78ID:t7n7AMl6
a :: Int -> Int
a 0 = 50^2
a n = round (sqrt (realToFrac n):: Float)
型変換なみだでてきた
ghciプロンプトだと
round (sqrt 50)
7
ちゃんと出るじゃねーか...

15デフォルトの名無しさん2021/12/21(火) 10:17:23.12ID:WtPb4PP+
>>6
酷すぎる

16デフォルトの名無しさん2021/12/21(火) 11:09:52.33ID:+QFtbkZ1
>>14
ghci 上で :t round . sqrt として
a :: Int -> Int との違いを比べてみるとよいよ (あとリテラルの50はIntではない)
数(特に浮動小数点数)まわりの関数でなみだ出てくるのは多少同意

17デフォルトの名無しさん2021/12/21(火) 15:10:59.44ID:XC3saJz0
>>6
こ、これはもしや・・・・あの!?

18デフォルトの名無しさん2021/12/23(木) 17:28:45.18ID:iaSGtOUq
ken80297274

岡部さんのサブアカウント発見

19デフォルトの名無しさん2021/12/23(木) 20:30:31.33ID:hyDq6lCn
どんな人生を生きたら実名でこんな攻撃的な調子でtwitter上で不特定多数に絡みに行こうと思えるんだ
実際実社会で会ったらどんな感じの人なんだろう

20デフォルトの名無しさん2021/12/23(木) 21:25:57.12ID:cmpFYqPS
岡部健さんはアメリカのUCLA卒業と書いていたらしいので、情報技術の素養はあるんじゃないか?


https://twitter.com/ohagiya/status/226163166067949568


http://archive.ph/1oA1C
>>「まああれでUCLAとかよく嘘こけるよねー。 」
>とは、これも、僕が学歴詐称しているという野田憲太郎の妄想にはじまる
>「バッシングに用いる好物のネタ」であり、もちろんそのような学歴詐称の事実などないし、それも名誉毀損として刑事告訴の要件に入っている。
https://twitter.com/5chan_nel (5ch newer account)

21デフォルトの名無しさん2021/12/23(木) 21:27:02.59ID:cmpFYqPS
Twitterで

ohagiya UCLA

で検索すると岡部健さんの学歴にけちを付けてる人が出てくるね

22デフォルトの名無しさん2021/12/23(木) 23:57:52.67ID:MjSWMWRR
ハリウッド映画でよくある、酒場でのウィットに富んだ大人の会話の一種では?
0時を過ぎると、酒瓶を割って拳で語り合う・・・いまその状態では?
夜が明けると、互いを理解し絆が深まる。
そして生涯の友となるのでは?

23デフォルトの名無しさん2021/12/27(月) 09:38:29.17ID:hZ17KgJk
https://ken-okabe
.hatenablog
.com/entry/2021/12/20/134121

『結局は、あろうことか、当時のQiita運営がこういう匿名炎上目的のアカウントの思惑に乗っかる形で、僕の反論コメントを消してしまったので』

と書いてるので、当時nonstarterさんの記事のコメント欄に出没していたのは岡部健本人だったのかな。
ことあるごとに「岡部氏」って別人のように書いてたのにね

24デフォルトの名無しさん2021/12/28(火) 01:15:18.08ID:e4meyx5L
高度IT人材、富士通は最大年収3500万円へ

「富士通年収3500万!」日本のIT企業の年収も、高額化してきました

AI人材の獲得に超本気 NECが新人事制度を9人に適用、富士通は最大年収3500万円へ

【年収3500万円も】富士通、「ジョブ型」人事制度を導入 幹部社員から 高度IT人材

来年度から副業解禁 人材多様化へ―大同生命次期社長

副業・兼務の解禁から4年、ロート製薬流で進めるキャリア支援

ロート製薬が副業をいち早く導入した「超人間的」な理由

ロート製薬会長が「副業を受け入れない会社は発展しない」と断言する理由

25デフォルトの名無しさん2021/12/28(火) 08:27:45.42ID:FaceSKSV

26デフォルトの名無しさん2021/12/31(金) 02:20:27.03ID: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"
みたいな書き方がしたい

27デフォルトの名無しさん2021/12/31(金) 03:53:55.07ID:aP8qPSMg
自己解決したけどデータが多いとスタックが...
>countword . countchars . map chkspand $ " 1313 13 111 rfr fdf"
>5

28デフォルトの名無しさん2021/12/31(金) 14:45:34.52ID:KqmzC1Ir
リストみたいなただのデータコンストラクタだったら、いくら長くてもスタック関係ないのに
リストをfoldrしたような物が出てくるとスタックでみんな躓く

29デフォルトの名無しさん2021/12/31(金) 14:58:51.96ID: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"

30デフォルトの名無しさん2021/12/31(金) 16:30:35.01ID: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

上手く行きました
イテレータのパターンマッチ目からウロコ

31デフォルトの名無しさん2021/12/31(金) 20:42:25.11ID:aP8qPSMg
>>30のこれ
iterator (0:1:xs) = 1 + (iterator xs)
内部で
1+1+1+1+...が積みあがって最後に計算されるの?

32デフォルトの名無しさん2021/12/31(金) 20:58:03.01ID:bqUePCKa
>>31
それは処理系のimplement依存だから一概には言えないけど多分stack上に(1+)関数が乗っていって最後に確定した0が入ってから計算しそうな気がする

33デフォルトの名無しさん2021/12/31(金) 21:10:21.51ID:aP8qPSMg
>>32
了解しました

34デフォルトの名無しさん2022/01/02(日) 20:44:02.99ID: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が積みあがらないはず

35デフォルトの名無しさん2022/01/02(日) 21:09:40.82ID:OOMiLRw0
ghciで確認
>>30はスタックオーバーフローで止まった
>>34は止まらないからctr-Cで止めた

36デフォルトの名無しさん2022/01/03(月) 00:17:58.15ID:eS7vipFo
OOPでも、整数を他のオブジェクトとは全然違う形式にしないと
計算が遅過ぎてダサくなるよね

逆にオブジェクトの方を整数と同じようなGC非依存みたいな構造にする手もあるか

37デフォルトの名無しさん2022/01/03(月) 08:08:25.82ID:hLrwvjQQ
まぁコレは趣味による
Haskellでは性能面より可読性を重視するからな
それも使う人次第だけど
>>34のようにすればメモリも時間も節約できるけど可読性は失われる
どこまで我慢するかだけどオレは計算時間もメモリも線形までなら我慢して可読性を重視する
>>34だと入力に比例して要求されるスタック量が増える
線形までならしょうがないと思う
どのみち入力が大きくなるにつれてシステムが大きくなるのは元々しょうがないんだしその時の比例定数の違いまでなら我慢する
今具体的にやりたいことがあってその線形オーダーの無駄すら許されない状況なら考えるけど

38デフォルトの名無しさん2022/01/03(月) 11:20:12.64ID:TEX8BSo6
>>37
今回のお題はワードカウント、ファイルサイズがギガになる場合を想定
スタックなりヒープなりを消費しない手法は?です
Cなどで実装した場合、ループでカウントして再帰なしスタックもヒープも消費なしとか(可読性は...)

他にマルチスレッドで分割カウントした時の手法とか(ディスクのIOで律速か)

39デフォルトの名無しさん2022/01/03(月) 12:59:34.38ID:hLrwvjQQ
今回の場合1ワード消費するたびにスタック一個消費するから必要なメモリリソースが倍以上になる可能性もあるから意味はあるかな
特にコレは>>34の方法だと必要なメモリリソースがデータ保持する分を除けばlogオーダーになるからな
しかも読み込んだデータは順次捨てていけるし(そこまでのカウント結果を保持しないといけないので有限オートマトンでは無理だけど有限オートマトン以上、チューリング完全以下、こういう計算クラスは名前ついてるのかな?)
個人的にはこういうときメモリ線形、時間線形までは許さないと大した事できないことが多いのでそれ以上のこだわりは持たないようにしてる
数学的研究対象とかにするなら別だけど

40デフォルトの名無しさん2022/01/03(月) 15:29:08.17ID:TEX8BSo6
>>39
今回なにを確認したのか
それは、Cで組むような単純繰り返しを同じ感覚でヒャッハーとhaskellの遅延評価で行うと
ヤバイと言う教訓とそれを回避する手法

41デフォルトの名無しさん2022/01/04(火) 16:11:04.31ID:h755Av8k
Haskellを身に付けた人は他の言語も使えると予想しますが、いくつもの言語の中からHaskellを選んで
プログラムを書くのはどんな課題、問題を解決したいときなんでしょうか

42デフォルトの名無しさん2022/01/04(火) 16:44:18.80ID:HuVGMWib
課題が「ガベージをコレクトしたい」だけだったとしても
じゃあ静的型は不要だとかジェネリクスは不要だとはならない
だから課題と関係ない部分を作り込む

43デフォルトの名無しさん2022/01/05(水) 10:28:01.47ID:imDyM2+l
Twitterの検索で

@ohagiya @kenokabe

と入れると楽しいよな

44デフォルトの名無しさん2022/01/11(火) 17:47:50.88ID:rZde0CTm
>>43
ひどすぎるだろこれ
可哀想に


lud20220114051152
このスレへの固定リンク: http://5chb.net/r/tech/1639713446/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「関数型プログラミング言語Haskell Part34 ->画像>1枚 」を見た人も見ています:
関数型プログラミング言語Haskell Part26
関数型プログラミング言語Haskell Part32
関数型プログラミング言語Haskell Part30
【Microsoft】Excel関数ベースのプログラミング言語「Microsoft Power Fx」登場 オープンソースで公開予定 [少考さん★]
LLにおける関数型プログラミング
elm(プログラミング言語)
将来性ないプログラミング言語。Delphi含まれず安心
PHPもJavaScriptも難しくて挫折したんだけどもっと簡単なプログラミング言語ってないのかよ
【朗報】今後プログラミング言語はJavaScriptの1強時代へ、これ以外の言語の学習は不要
JavaScriptもPHPも挫折したんだけどもっと簡単なプログラミング言語ってないのかよ [無断転載禁止]
JavaScriptもPHPも難しくて挫折したんだけどもっと簡単なプログラミング言語ってないのかよ [無断転載禁止]
JavaScriptもPHPも難しくて挫折したんだけどもっと簡単なプログラミング言語ってないのかよ [無断転載禁止]
マルチプラットフォーム プログラミング言語 haXe
【IT】統合開発環境人気は1位はVisual Studio、2位はEclipse。プログラミング言語専用の開発環境に人気の兆し [無断転載禁止]
プログラミング言語Swift 3
女向けのプログラミング言語
プログラミング言語 Rust 4
プログラミング言語って面白い?
日本語プログラミング言語Mind
天才以外お断りプログラミング言語
C#とかいう欠陥プログラミング言語
プログラミング言語 Scala 12冊目
プログラミング言語、次は何を学ぶ?
最も美しいプログラミング言語は? Part6
プログラミング言語 Scala 11冊目
let s: プログラミング言語? = Swift
理系大学一年が学ぶべきプログラミング言語
プログラミング言語ってどうやって覚えた?
一番難易度が高いプログラミング言語は?
プログラミング言語アワード2022←これ
プログラミング言語バトルロワイヤル
結局人気の高いプログラミング言語ってなに?
プログラミング言語ってさ?どう覚えるべき?
ニートの俺がプログラミング言語を作るんだけど
結局人気の高いプログラミング言語ってなに?
お前らプログラミング言語どうやって覚えたんや?
【IT】人気プログラミング言語トップ10【2019版】
プログラミング言語「PHP」の作者が天才すぎる…
【IT】マルウェア解析のためのプログラミング言語トップ3
プログラミング言語 Kuin Part 16#01 [無断転載禁止]
プログラミング言語ランキング総合【TIOBE】
プログラミング言語←これを勉強してるやつは馬鹿らしい。
プログラミング言語って何勉強すればいいの!? ★2
プログラミング言語「COBOL」がTwitterトレンド入り 
【Lisp】プログラミング言語 Clojure #4【JVM】
【IT】2018年に求人の多いプログラミング言語トップ7
嫌いなプログラミング言語ランキングでPerlが1位になる
【IT】Microsoft、プログラミング言語「P」を紹介 [無断転載禁止]
Microsoftってやたらと形式検証系のプログラミング言語作ってるけどさ
プログラミング言語で難易度が低いのってなに? [無断転載禁止]
プログラミング言語別の年収ランキング発表 [無断転載禁止]
マイクロソフト、新たなプログラミング言語を開発中か
プログラミング言語別年収ランク 1位は世界で人気の「Go」
【IT】2018年 人気&嫌われプログラミング言語トップ25-
プログラミング言語、用語をひらがなにしたらエロゲのタイトルになる
プログラミング言語、Python一人勝ち。もうすぐ世界一人気のある言語に
【IT】プログラミング言語・開発年数・年収の関連性が明らかに
今から始める? 就職に有利なお勧めのプログラミング言語16選 [無断転載禁止]
【IT】Microsoft、プログラミング言語「TypeScript 3.7」を公開
もうプログラミング言語はTypeScriptだけやっとけばいいだろ 何でもできるし
プログラミング言語の難易度ランク作りました ご覧ください
07:08:40 up 27 days, 17:32, 1 user, load average: 7.92, 8.34, 8.95

in 0.02754282951355 sec @0.02754282951355@0b7 on 010821