TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
ARToolKitでARを作ろう
【node.js】サーバサイドjavascript 5【Nashorn】
おまいらはディープラーニングの検定試験受けるの?
生産性が低いC++で頑張るために必要な知識
【GNU】スクリプト言語 Guile【scheme】
テスト
Tapestryについて語ろうよ!
この先き主流となる言語
【マウスだけで】Scratch【プログラミング】その1
くだすれPython(超初心者用) その43【Ruby禁止】

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


1 :2017/09/27 〜 最終レス :2018/09/11
関数型プログラミング言語 Haskell について語るスレです。

haskell.org (公式サイト)
https://www.haskell.org/

前スレ
関数型プログラミング言語Haskell Part30
http://mevius.2ch.sc/test/read.cgi/tech/1484491434/

2 :
過去スレ一覧
29) http://peace.2ch.sc/test/read.cgi/tech/1436869629/
28) http://peace.2ch.sc/test/read.cgi/tech/1428535861/
27) http://peace.2ch.sc/test/read.cgi/tech/1420718555/
26) http://peace.2ch.sc/test/read.cgi/tech/1406436392/
25) http://peace.2ch.sc/test/read.cgi/tech/1393313450/
24) http://toro.2ch.sc/test/read.cgi/tech/1382705669/
23) http://toro.2ch.sc/test/read.cgi/tech/1376111807/
22) http://toro.2ch.sc/test/read.cgi/tech/1364009659/
21) http://toro.2ch.sc/test/read.cgi/tech/1358702176/
20) http://toro.2ch.sc/test/read.cgi/tech/1350428908/
19) http://toro.2ch.sc/test/read.cgi/tech/1340760070/
18) http://toro.2ch.sc/test/read.cgi/tech/1331902463/
17) http://toro.2ch.sc/test/read.cgi/tech/1325510368/
16) http://toro.2ch.sc/test/read.cgi/tech/1317958045/
15) http://hibari.2ch.sc/test/read.cgi/tech/1310199414/
14) http://hibari.2ch.sc/test/read.cgi/tech/1299385928/
13) http://hibari.2ch.sc/test/read.cgi/tech/1286706874/
12) http://hibari.2ch.sc/test/read.cgi/tech/1272536128/
11) http://pc12.2ch.sc/test/read.cgi/tech/1252382593/
10) http://pc12.2ch.sc/test/read.cgi/tech/1231861873/
09) http://pc11.2ch.sc/test/read.cgi/tech/1211010089/
08) http://pc11.2ch.sc/test/read.cgi/tech/1193743693/
07) http://pc11.2ch.sc/test/read.cgi/tech/1174211797/
06) http://pc11.2ch.sc/test/read.cgi/tech/1162902266/
05) http://pc8.2ch.sc/test/read.cgi/tech/1149263630/
04) http://pc8.2ch.sc/test/read.cgi/tech/1140717775/
03) http://pc8.2ch.sc/test/read.cgi/tech/1076418993/
02) http://pc2.2ch.sc/test/read.cgi/tech/1013846140/
01) http://pc.2ch.sc/tech/kako/996/996131288.html

3 :
(英語)
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

Programming in Haskell
http://www.sampou.org/cgi-bin/haskell.cgi

Haskell のお勉強
http://www.shido.info/hs/

Haskell Programming
http://www.geocities.jp/m_hiroi/func/haskell.html

本物のプログラマはHaskellを使う:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20060915/248215/

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

4 :
いちおつ

5 :
質問させてください
Stringの配列xsを1つの要素につき1行ずつ画面に出力する場合、
mapM_ putStrLn xs

putStr.unlines $ xs
ならどちらの方がいいのでしょうか?

6 :
https://ideone.com/hreKZz
前スレの分割集合のアルゴリズムをdp風にしてみたけど
結局リストを作るコストは同じだからむしろ遅くなったわ

7 :
Haskell 入門書の新刊が、今日付で発売。

『Haskell入門 関数型プログラミング言語の基礎と実践』技術評論社、¥3,280(税別)
http://gihyo.jp/book/2017/978-4-7741-9237-6 (一部ページのサンプルpdfあり)
https://www.amazon.co.jp/dp/4774192376

8 :
日本人の書くHaskell本は入門書ばっか。
ダメとは言わんが、バラエティーがないね。

9 :
だって関数プログラミングについて深い内容を書けるだけの知識と見識のある人間なんて日本にはいない
実務家も大学の先生もね

10 :
誰か、競プロを生き抜くためのHaskell TipsをKindle出版してくれ
できればUnlimited 対応で

11 :
英語で構わないので中級者向けの書籍教えて

12 :
>>10
haskell-masterことtanakh大先生に頼むしかないな

13 :
Glorious haskell-master tanakh is crazy about Rust these days.

14 :
>>11
何を以て中級と言えるか分からんが、
実用的なアプリを作るのに欠かせない技術や考え方を学ぶという観点なら
http://www.apress.com/us/book/9781430262503 を勧める。

タイムマシンを販売するWebストアを作るという体で解説が進む。
(なぜタイムマシンなのかは最後に分かる)
名前に Beginning とあるが、Beginning なのは第1部だけで、
第2部以降は実戦色が強くなる。

この本の大きな特徴は、第2部以降は必要性が出てきた段階で、
必要な分だけ Haskell の構文やライブラリや技術などの解説がされることが多いこと。
たとえばアプリのリソースの扱い方を学ぶ段階で初めて
IOモナドによる入出力の解説が登場するのは当たり前だが、
それと同じ章で Conduit や Binary Serialization の解説が登場する。
実用的なアプリの作成において、これらでリソースを扱うのが非常に有用だからだ。

入門書では前半で出てくるような型がこの本では後半で出ることもある。
入門書をしっかり理解できているのなら適当に読み飛ばしたくなる所もあると思うが、
そこで作った型や関数は後で使うことが多いので、復習と思ってぐっと我慢すべし。

個人的には、アーキテクチャレベルの章が無いのが残念。

15 :
>>14
ありがとう!参考になりました

16 :
ああ逃れられない(英語)

17 :
新しくでたHaskell本、田舎に住んでる自分的にはいい感じだわ。
著者の方をみると、東京とかの勉強会はこの辺を踏まえてるんだなと勝手に思ってる。
周りにHaskellerがおらず独りでやってるけど、実践的な面で何か取りこぼしがないかとの疑問が頭に残ってたから、これで安心。

18 :
明日給料入るから明日買うわ

19 :
>>17
章末問題とか練習問題みたいなのある?

20 :
例えば、undefinedをAgdaのホールみたいに使えるとか知らんかった。

21 :
実際何か作ろうとなったときに今どのライブラリでどう作ればいいかの道筋を示す本はないから
そこをわかって出してくれてそうな今回の入門書に期待

22 :
>>19
ないね。
理論的な部分はこれまでの良書で固めて、
上で書いたような、俗っぽい(悪い意味ではない)部分を補充、といった感じかと。

23 :
ところで、今Webアプリってブームなの?
みんなWebアプリを作りたくてウズウズしてんの?

24 :
ゲーム作るならFRPなの?
どのパッケージがいいの? ヘルムって奴?
それ以前にFRPってどこで勉強すればいいの?

25 :
Elm、FRPやめたってよ
FRPと関数型のことは忘れろ

26 :
Functional Reactive Programming - HaskellWiki
https://wiki.haskell.org/Functional_Reactive_Programming

27 :
えええ。。。じゃあHaskellでゲームって、なんのライブラリ使って作るの

28 :
自分で作ってみるのはどうでしょうか?
良いライブラリができたら公開してね!!

29 :
Game Development - HaskellWiki
https://wiki.haskell.org/Game_Development

30 :
Applications and libraries/Games - HaskellWiki
https://wiki.haskell.org/Applications_and_libraries/Games

31 :
HaskellによるゲームプログラミングにFRPを使うメリットがない。

32 :
みんなhaskellで何するの?
haskellのためのhaskellしてるみたいなイメージ

33 :
自分の要求に応えてくれる言語を使ってるだけだよ

34 :
stackがあればハスケルコンパイラーインストール必要ないんやな。
全部消してやったぜ。

35 :
神様ありがとう、ハスケルに会わせてくれて
君は眠っていたね

36 :
>>32
C言語の倒し方を発見する
またはC言語を倒せないことを証明する

37 :
>>32
あえて言おう
自分自身の処理系を記述できない処理系はクソ

38 :
Eq クラスや Show クラスのように default deriving として使えるクラスを自作することはできますか?

39 :
>>38
14の本に書いてあった気がする

40 :
Haskellによる関数プログラミングの思考法
Richard Bird (著), 山下伸夫 (翻訳)
https://www.amazon.co.jp/dp/4048930532/

この本ていいの?
すぐ教えろ

41 :
C++ Rust Haskellは言語とライブラリを見るだけで楽しめるが
言語とライブラリはすぐ古くなるのがこわくて手を出せないやつが多いんだろうね

42 :
待ってくれ

43 :
>>39
ありがとうございます。
その本を借りてみます。

44 :
ああ逃れられない(英語)

45 :
>>40
「関数プログラミング 珠玉のアルゴリズムデザイン」のための良い入門書って感じ

46 :
珠玉難しすぎんよ〜

47 :
珠玉は本気で難しい

48 :
>>12
tanakhはもうダメになった
https://twitter.com/tanakh/status/914454692440064000

49 :
平常運転

50 :
平壌運転

51 :
REPLでlet文ごっそり複数行貼れるんだね。
ちまちま一行ずつコピペしててバカみたいだったww
自分みたいなアホはあまりいないと思うけど、一応の注意喚起。

52 :
replというかコマンドラインの性質・・・

53 :
Data.MapのfromListとtoListはキーが例えば自然数なら自動で昇順になるのですか?
確実を期すのであればfromAscListやtoAscListを使うべきですか?

54 :
わざわざ別に作ってあるってことはそうやろなぁ

55 :
Functional Pearl って何? 自分で名乗ってもいいの?

56 :
vectorパッケージでリスト内包表記的なのってありますかね?
また、ああいうsyntax sugarてユーザーが定義できるんでしょうか?

57 :
monad comprehensions

58 :
>>57
ありがとうございました、見てみます。

59 :
bindの連結がよくわかってないので質問させてください

Just 10 >>= \x -> return (x + 1) >>= \y -> return (x + y + 2)
と書いた場合、明示的に括弧でくくるとしたら
Just 10 >>= \x -> (return (x + 1) >>= \y -> return (x + y + 2))
になりますよね?これが
Just 10 >>= \x -> return (x + 1) >>= \y -> return (y + 2)
の場合でも
Just 10 >>= \x -> (return (x + 1) >>= \y -> return (y + 2))
になるのですか?それとも
(Just 10 >>= \x -> return (x + 1)) >>= \y -> return (y + 2)
やあるいは別の場所がくくられますか?
下の場合どこでくくっても答えが同じなので混乱してきました

60 :
Just 10 >>= (\x -> return (x + 1) >>= (\y -> return (x + y + 2))

61 :
do
 x <- Just 10
 y <- return (x + 1)
 return (x + y + 2)



Just 23

62 :
カッコで括らない限りラムダ式のリテラルを使うとそれ以降はラムダ式の内側になるから
bindというか演算子に限らずa+\x->x+bみたいなのはa+(\x->x+b)

63 :
letやcaseはあまり使わないほうが推奨なんですか?

これに書いてあったので
http://d.hatena.ne.jp/kazu-yamamoto/20110826/1314352340

64 :
>>62
演算子の種類に限らず

65 :
>>63
好き好きでいいと思う。

66 :
>>63
let と where を同時に使わない、さえ守ればまあ。

https://wiki.haskell.org/Let_vs._Where

ちなみにcaseを使わないでパターンガードで書くと
ガードをまたげる where の方が書きやすいので
個人的にはまさにcaseもletも使わない

67 :
使う意味がわからない
局所的なスコープの中だから式でないと書けないでもなければ使わない

68 :
>>66
いいこときいた!

69 :
値ならlet、関数ならwhereみたいな使い分けしてるわ
両方混ざることもしばしば
caseもdo構文の中とかで普通に使わね?

70 :
左上から順番に読んで引っかかる時はlet使うかな。パターンガードはwhere一択だね。

baseパッケージを雑に調べたんだけど、総数はそれぞれ
where: 2038
let: 665
case: 979

71 :
そして余計な宗教戦争へ発展

72 :
foo = \ n -> let xs = map fib [0 ..] in xs !! n
bar = let xs = map fib [0 ..] in \ n -> xs !! n

宗教はいくつか掛け持ちする方がいい
nonlocalにすればlifetimeが長いとか便利な言葉が使える

73 :
宗教で思い出したんだけど、みんなエディタは何使ってる?

https://github.com/rainbyte/haskell-ide-chart
Atom派が増えてきた気がする(Stepwise Debuggerってなんだろう)。

74 :
vscode+hie

75 :
vscodeいいよな
他の言語でも大活躍

76 :
vimのlanguage server対応がもっと進んだらvimに戻りたい

77 :
https://wiki.haskell.org/Let_vs._Where#Problems_with_where
これ前者はクロージャみたいなものということなのかな

78 :
spacemacs + intero

79 :
HIE知らんかった。試してみよう。
自分もSpacemacsだわ。

80 :
プログラミングに限らず、およそ文字列を編集する作業において、
vim以外のエディタは考えられない体になってしまった。

81 :
vscodeはvimがクソなのがな

82 :
タイプミスが多いのでキー入力コマンド操作とか誤操作ばかりで死ぬ

83 :
CoqとかAgdaもやろうとしてたからEmacs一択で、
Vimの操作性も習得したいと思ってたから結果的にSpacemacsに落ち着いたわ。

84 :
Spacemacs知れようとして、Emacsのバージョン足りなくて死んだ

85 :
静的どころか参照透明なんだし、補完は充実してほしいよなあ。

data Pen = Pineapple | Apple
apple = Apple
pen :: Pen
pen = a
もうこの時点で候補をappleに絞ってほしい。

86 :
異教徒間の鍔迫り合いが始まる予感です?

87 :
そんな「絞り込み」はそもそもできないしすべきでもない
そもそもその例の場合なら完全に redundant だとしてむしろ積極的にappleを除外してほしい

88 :
>>87
できそうな気がするけど。
…-> Pen のような関数がないって事がわかってて、
penの型定義も限定されてるから、そこに書くことのできる値は限られてる。

89 :
>>85
その絞り込みの是非は置いておくとして、「参照透明」と「絞り込み」の関係がよく分からん。
その例だと、参照透明である必要はないと思うが。

90 :
>>89
そうだね。絞り込みについては静的であれば充分。
参照透明なら実行中に値が変わることがないから、例えばShowしたものを補完候補としてリストアップできる。

91 :
id やら const やらの問題はさておき
そこでもし仮に apple に絞られたら相当イラつく

92 :
>>88
その例なら簡単にできるけど、一般的には相当厳しいと思うよ。

型がシノニムだったら、辿って元の型を探さないといけないね。
import されてたら、それも全て辿らないといけないね。
template が使われてたら、展開しないといけないね。
Cプリプロセッサが使われてたら、これも展開しないといけないね。

型を決定するのに関わる事は他にもいっぱいある (言語拡張とか)。


あと、参照透明は破られないという前提で話してると思うけど、
unsafePerformIO 関数があることを忘れないように。

93 :
まずは自動車を二人で運転したり、独裁者が二人いる国を作ってみればいいのだ
それができたら一人を機械で置き換えて人間+機械のコンビを作る

94 :
Haskellでウェブアプリ作れますか?

95 :
>>94
作れるよ。
フレームワークもいくつかあるし、入門書もある。

96 :
webフレームワーク周りは一時期乱立とは言わないまでもだいぶ混乱してた印象があるけど
最近の流れはどうなってるんだろうか

97 :
すみません、ある型とその取扱い関数の
標準・追加ライブラリでの有無の確認なのですが、

実数の範囲を表す型で(A,B)というのがあったとして
A以上B未満の範囲を示していて、
それがリストに[ s1, s2, s3, s4 ]の様に並べられているとして
その中身は[(0,1),(1,2),(2,4),(4,8)]としますと
実数「1.5」はこのリスト3番目の変数が示す範囲に
含まれますと教えてくれる関数なのですが、
このような型と関数があるライブラリを知っていましたら
教えて下さい。

98 :
すみません。
「リスト2番目」の間違いでした。

99 :
Yesodの辛さを述べた記事を最近みた。

100 :
最近なら servant が多いんじゃないか?


100〜のスレッドの続きを読む
<XML総合 part="3"/>
くだすれFORTRAN(超初心者用)その6
Win32API質問箱 Build125
オブジェクト指向の活用方法を教えて下さい
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
[RPA]PC自動化技術総合スレ[効率化] Part.6
関数型プログラミング言語Haskell Part32
Visual Studio Code / VSCode Part4
シェルスクリプト総合 その29
Rust Part5
--------------------
「これでまた1年期待が持てる」村上春樹さんノーベル賞逃し同級生苦笑い
Twitter 囲碁クラスタについて語るスレ part6
【HKT48】田中美久 応援スレ☆87【みくりん】
高負荷自重トレ総合
【SUBARU】新型(2代目)レヴォーグ Part1【LEVORG】
【女優】浜辺美波:初めて語る「女優としての決意」も 初フォトエッセー「気ままに美波」12日発売
フォーリーブス統一スレッド
運子なう
関西ミニ四駆雑談スレ2
【東方神起】チャンミン避難所589 【花鹿弟】
共産党員って生きてて恥ずかしくないの?(36)
ロードモバイル Part.13
ゴジラ映画総合 GODZILLA 120
東急コミュニティーってどうなの?Part10
くそすれ
K RETURN OF KINGS ネタバレスレ part1
心理学は勉強する人は何が目的なのか
韓国籍の新井浩文R犯、店の「性行為禁止」に署名も、女性を押し倒し頭を押さえつけて強姦
HUGっと!プリキュア ++HUGTTO! PRECURE++ 114
【食洗機】食器洗い乾燥機買替27台目【食器洗い機】
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼