関数型プログラミング言語 Haskell について語るスレです。
haskell.org (公式サイト)
https://www.haskell.org/
前スレ
関数型プログラミング言語Haskell Part30
http://mevius.2ch.net/test/read.cgi/tech/1484491434/
探検
関数型プログラミング言語Haskell Part31©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/09/27(水) 02:33:08.70ID:2XAqPuH2
2017/09/27(水) 02:33:55.41ID:2XAqPuH2
過去スレ一覧
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
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
2017/09/27(水) 02:35:40.58ID:2XAqPuH2
(英語)
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
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
2017/09/27(水) 06:37:41.63ID:G9HkNsFz
いちおつ
2017/09/27(水) 08:45:48.68ID:l2Dkh0U/
質問させてください
Stringの配列xsを1つの要素につき1行ずつ画面に出力する場合、
mapM_ putStrLn xs
と
putStr.unlines $ xs
ならどちらの方がいいのでしょうか?
Stringの配列xsを1つの要素につき1行ずつ画面に出力する場合、
mapM_ putStrLn xs
と
putStr.unlines $ xs
ならどちらの方がいいのでしょうか?
2017/09/27(水) 11:20:36.98ID:3YTsdy+/
2017/09/27(水) 12:38:35.89ID:e62g5PUw
Haskell 入門書の新刊が、今日付で発売。
『Haskell入門 関数型プログラミング言語の基礎と実践』技術評論社、¥3,280(税別)
http://gihyo.jp/book/2017/978-4-7741-9237-6 (一部ページのサンプルpdfあり)
https://www.amazon.co.jp/dp/4774192376
『Haskell入門 関数型プログラミング言語の基礎と実践』技術評論社、¥3,280(税別)
http://gihyo.jp/book/2017/978-4-7741-9237-6 (一部ページのサンプルpdfあり)
https://www.amazon.co.jp/dp/4774192376
2017/09/27(水) 13:09:22.03ID:Ig4f10A7
日本人の書くHaskell本は入門書ばっか。
ダメとは言わんが、バラエティーがないね。
ダメとは言わんが、バラエティーがないね。
2017/09/27(水) 18:15:22.14ID:fINvBrSj
だって関数プログラミングについて深い内容を書けるだけの知識と見識のある人間なんて日本にはいない
実務家も大学の先生もね
実務家も大学の先生もね
2017/09/27(水) 19:01:25.65ID:duTWzj9f
誰か、競プロを生き抜くためのHaskell TipsをKindle出版してくれ
できればUnlimited 対応で
できればUnlimited 対応で
11デフォルトの名無しさん
2017/09/27(水) 21:13:41.99ID:A4sTCCrj 英語で構わないので中級者向けの書籍教えて
12デフォルトの名無しさん
2017/09/27(水) 21:45:25.22ID:Ys6dXTpa >>10
haskell-masterことtanakh大先生に頼むしかないな
haskell-masterことtanakh大先生に頼むしかないな
2017/09/27(水) 22:52:12.73ID:vJ1/ghVi
Glorious haskell-master tanakh is crazy about Rust these days.
2017/09/27(水) 23:06:21.04ID:GBvrW/PZ
>>11
何を以て中級と言えるか分からんが、
実用的なアプリを作るのに欠かせない技術や考え方を学ぶという観点なら
http://www.apress.com/us/book/9781430262503 を勧める。
タイムマシンを販売するWebストアを作るという体で解説が進む。
(なぜタイムマシンなのかは最後に分かる)
名前に Beginning とあるが、Beginning なのは第1部だけで、
第2部以降は実戦色が強くなる。
この本の大きな特徴は、第2部以降は必要性が出てきた段階で、
必要な分だけ Haskell の構文やライブラリや技術などの解説がされることが多いこと。
たとえばアプリのリソースの扱い方を学ぶ段階で初めて
IOモナドによる入出力の解説が登場するのは当たり前だが、
それと同じ章で Conduit や Binary Serialization の解説が登場する。
実用的なアプリの作成において、これらでリソースを扱うのが非常に有用だからだ。
入門書では前半で出てくるような型がこの本では後半で出ることもある。
入門書をしっかり理解できているのなら適当に読み飛ばしたくなる所もあると思うが、
そこで作った型や関数は後で使うことが多いので、復習と思ってぐっと我慢すべし。
個人的には、アーキテクチャレベルの章が無いのが残念。
何を以て中級と言えるか分からんが、
実用的なアプリを作るのに欠かせない技術や考え方を学ぶという観点なら
http://www.apress.com/us/book/9781430262503 を勧める。
タイムマシンを販売するWebストアを作るという体で解説が進む。
(なぜタイムマシンなのかは最後に分かる)
名前に Beginning とあるが、Beginning なのは第1部だけで、
第2部以降は実戦色が強くなる。
この本の大きな特徴は、第2部以降は必要性が出てきた段階で、
必要な分だけ Haskell の構文やライブラリや技術などの解説がされることが多いこと。
たとえばアプリのリソースの扱い方を学ぶ段階で初めて
IOモナドによる入出力の解説が登場するのは当たり前だが、
それと同じ章で Conduit や Binary Serialization の解説が登場する。
実用的なアプリの作成において、これらでリソースを扱うのが非常に有用だからだ。
入門書では前半で出てくるような型がこの本では後半で出ることもある。
入門書をしっかり理解できているのなら適当に読み飛ばしたくなる所もあると思うが、
そこで作った型や関数は後で使うことが多いので、復習と思ってぐっと我慢すべし。
個人的には、アーキテクチャレベルの章が無いのが残念。
15デフォルトの名無しさん
2017/09/28(木) 01:51:54.14ID:z5y5Aaws >>14
ありがとう!参考になりました
ありがとう!参考になりました
2017/09/28(木) 14:01:26.19ID:UK21Udq4
ああ逃れられない(英語)
2017/09/28(木) 21:10:48.47ID:6lr8pJs9
新しくでたHaskell本、田舎に住んでる自分的にはいい感じだわ。
著者の方をみると、東京とかの勉強会はこの辺を踏まえてるんだなと勝手に思ってる。
周りにHaskellerがおらず独りでやってるけど、実践的な面で何か取りこぼしがないかとの疑問が頭に残ってたから、これで安心。
著者の方をみると、東京とかの勉強会はこの辺を踏まえてるんだなと勝手に思ってる。
周りにHaskellerがおらず独りでやってるけど、実践的な面で何か取りこぼしがないかとの疑問が頭に残ってたから、これで安心。
2017/09/28(木) 21:21:59.50ID:WvuzNAMn
明日給料入るから明日買うわ
2017/09/28(木) 21:30:11.00ID:Oc+ilhlL
>>17
章末問題とか練習問題みたいなのある?
章末問題とか練習問題みたいなのある?
2017/09/28(木) 21:30:19.44ID:DWFu7WOr
例えば、undefinedをAgdaのホールみたいに使えるとか知らんかった。
2017/09/28(木) 21:33:24.87ID:hwFo+CWc
実際何か作ろうとなったときに今どのライブラリでどう作ればいいかの道筋を示す本はないから
そこをわかって出してくれてそうな今回の入門書に期待
そこをわかって出してくれてそうな今回の入門書に期待
2017/09/28(木) 21:39:17.72ID:DWFu7WOr
2017/09/28(木) 22:29:11.61ID:Ivu9Y1Xk
ところで、今Webアプリってブームなの?
みんなWebアプリを作りたくてウズウズしてんの?
みんなWebアプリを作りたくてウズウズしてんの?
2017/09/28(木) 23:01:35.48
ゲーム作るならFRPなの?
どのパッケージがいいの? ヘルムって奴?
それ以前にFRPってどこで勉強すればいいの?
どのパッケージがいいの? ヘルムって奴?
それ以前にFRPってどこで勉強すればいいの?
2017/09/28(木) 23:10:45.38ID:hwFo+CWc
Elm、FRPやめたってよ
FRPと関数型のことは忘れろ
FRPと関数型のことは忘れろ
2017/09/28(木) 23:22:12.38ID:64lLKNQd
Functional Reactive Programming - HaskellWiki
https://wiki.haskell.org/Functional_Reactive_Programming
https://wiki.haskell.org/Functional_Reactive_Programming
2017/09/29(金) 00:09:31.41
えええ。。。じゃあHaskellでゲームって、なんのライブラリ使って作るの
2017/09/29(金) 00:22:48.95ID:6ZguHByP
自分で作ってみるのはどうでしょうか?
良いライブラリができたら公開してね!!
良いライブラリができたら公開してね!!
2017/09/29(金) 00:41:18.81ID:Q5+RKusc
Game Development - HaskellWiki
https://wiki.haskell.org/Game_Development
https://wiki.haskell.org/Game_Development
2017/09/29(金) 00:43:06.66ID:Q5+RKusc
Applications and libraries/Games - HaskellWiki
https://wiki.haskell.org/Applications_and_libraries/Games
https://wiki.haskell.org/Applications_and_libraries/Games
2017/09/29(金) 22:18:38.06ID:8tJM6rkq
HaskellによるゲームプログラミングにFRPを使うメリットがない。
2017/09/29(金) 22:52:40.90ID:7WUGaaf4
みんなhaskellで何するの?
haskellのためのhaskellしてるみたいなイメージ
haskellのためのhaskellしてるみたいなイメージ
2017/09/30(土) 00:36:23.25ID:rwsxidmc
自分の要求に応えてくれる言語を使ってるだけだよ
2017/09/30(土) 04:13:52.83ID:F2cNQzRT
stackがあればハスケルコンパイラーインストール必要ないんやな。
全部消してやったぜ。
全部消してやったぜ。
2017/09/30(土) 22:19:25.30ID:zP5U//5z
神様ありがとう、ハスケルに会わせてくれて
君は眠っていたね
君は眠っていたね
2017/09/30(土) 22:52:16.35ID:m5JakNDN
2017/09/30(土) 23:59:21.19ID:VwrUR3UB
2017/10/01(日) 11:01:26.12ID:evM2u7Ti
Eq クラスや Show クラスのように default deriving として使えるクラスを自作することはできますか?
2017/10/01(日) 12:00:16.69ID:QSpmDYPw
>>38
14の本に書いてあった気がする
14の本に書いてあった気がする
40デフォルトの名無しさん
2017/10/01(日) 13:29:55.56ID:00V/3sY4 Haskellによる関数プログラミングの思考法
Richard Bird (著), 山下伸夫 (翻訳)
https://www.amazon.co.jp/dp/4048930532/
この本ていいの?
すぐ教えろ
Richard Bird (著), 山下伸夫 (翻訳)
https://www.amazon.co.jp/dp/4048930532/
この本ていいの?
すぐ教えろ
2017/10/01(日) 15:15:55.43ID:hswT9xjT
C++ Rust Haskellは言語とライブラリを見るだけで楽しめるが
言語とライブラリはすぐ古くなるのがこわくて手を出せないやつが多いんだろうね
言語とライブラリはすぐ古くなるのがこわくて手を出せないやつが多いんだろうね
2017/10/01(日) 15:37:36.06ID:sFjMHcln
待ってくれ
2017/10/01(日) 15:52:51.93ID:evM2u7Ti
2017/10/01(日) 18:25:15.52ID:sFjMHcln
ああ逃れられない(英語)
2017/10/01(日) 19:09:32.63ID:rx6vco2K
>>40
「関数プログラミング 珠玉のアルゴリズムデザイン」のための良い入門書って感じ
「関数プログラミング 珠玉のアルゴリズムデザイン」のための良い入門書って感じ
2017/10/01(日) 19:34:05.63ID:sFjMHcln
珠玉難しすぎんよ〜
2017/10/01(日) 20:13:16.82ID:O7TiEQTZ
珠玉は本気で難しい
48デフォルトの名無しさん
2017/10/01(日) 23:00:51.17ID:iMMA7lvE2017/10/02(月) 02:38:46.64ID:y6gYscpA
平常運転
2017/10/02(月) 20:30:12.49ID:k+Xmo3sE
平壌運転
2017/10/04(水) 19:37:39.13ID:F2K4hXU2
REPLでlet文ごっそり複数行貼れるんだね。
ちまちま一行ずつコピペしててバカみたいだったww
自分みたいなアホはあまりいないと思うけど、一応の注意喚起。
ちまちま一行ずつコピペしててバカみたいだったww
自分みたいなアホはあまりいないと思うけど、一応の注意喚起。
2017/10/04(水) 22:05:05.88ID:oKe3mPnb
replというかコマンドラインの性質・・・
2017/10/08(日) 22:00:05.12ID:JB+KF/At
Data.MapのfromListとtoListはキーが例えば自然数なら自動で昇順になるのですか?
確実を期すのであればfromAscListやtoAscListを使うべきですか?
確実を期すのであればfromAscListやtoAscListを使うべきですか?
2017/10/08(日) 23:24:05.25ID:Zx8XGEkD
わざわざ別に作ってあるってことはそうやろなぁ
55デフォルトの名無しさん
2017/10/09(月) 07:02:48.85ID:xS+J1z7K Functional Pearl って何? 自分で名乗ってもいいの?
2017/10/10(火) 06:54:46.17ID:j0DthWV+
vectorパッケージでリスト内包表記的なのってありますかね?
また、ああいうsyntax sugarてユーザーが定義できるんでしょうか?
また、ああいうsyntax sugarてユーザーが定義できるんでしょうか?
2017/10/10(火) 07:19:08.32ID:IE9ZixgD
monad comprehensions
2017/10/10(火) 10:01:50.47ID:j0DthWV+
>>57
ありがとうございました、見てみます。
ありがとうございました、見てみます。
2017/10/15(日) 08:27:10.18ID:3zXjO+sA
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)
やあるいは別の場所がくくられますか?
下の場合どこでくくっても答えが同じなので混乱してきました
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)
やあるいは別の場所がくくられますか?
下の場合どこでくくっても答えが同じなので混乱してきました
2017/10/15(日) 18:20:04.06ID:amy6Q4J2
Just 10 >>= (\x -> return (x + 1) >>= (\y -> return (x + y + 2))
2017/10/15(日) 18:23:23.93ID:amy6Q4J2
do
x <- Just 10
y <- return (x + 1)
return (x + y + 2)
Just 23
x <- Just 10
y <- return (x + 1)
return (x + y + 2)
Just 23
2017/10/15(日) 21:17:59.15ID:QaXk2fzN
カッコで括らない限りラムダ式のリテラルを使うとそれ以降はラムダ式の内側になるから
bindというか演算子に限らずa+\x->x+bみたいなのはa+(\x->x+b)
bindというか演算子に限らずa+\x->x+bみたいなのはa+(\x->x+b)
63デフォルトの名無しさん
2017/10/15(日) 21:42:24.61ID:Fr3WOscB2017/10/15(日) 21:44:11.18ID:QaXk2fzN
>>62
演算子の種類に限らず
演算子の種類に限らず
2017/10/15(日) 22:04:25.31ID:pVUBwS6g
>>63
好き好きでいいと思う。
好き好きでいいと思う。
2017/10/15(日) 22:56:15.07ID:GYZBU1+2
>>63
let と where を同時に使わない、さえ守ればまあ。
https://wiki.haskell.org/Let_vs._Where
ちなみにcaseを使わないでパターンガードで書くと
ガードをまたげる where の方が書きやすいので
個人的にはまさにcaseもletも使わない
let と where を同時に使わない、さえ守ればまあ。
https://wiki.haskell.org/Let_vs._Where
ちなみにcaseを使わないでパターンガードで書くと
ガードをまたげる where の方が書きやすいので
個人的にはまさにcaseもletも使わない
2017/10/15(日) 23:23:28.47ID:E5HePsK2
使う意味がわからない
局所的なスコープの中だから式でないと書けないでもなければ使わない
局所的なスコープの中だから式でないと書けないでもなければ使わない
2017/10/15(日) 23:33:15.58ID:c/qV5Afw
>>66
いいこときいた!
いいこときいた!
2017/10/16(月) 00:02:00.30ID:TY5gTDK1
値ならlet、関数ならwhereみたいな使い分けしてるわ
両方混ざることもしばしば
caseもdo構文の中とかで普通に使わね?
両方混ざることもしばしば
caseもdo構文の中とかで普通に使わね?
2017/10/16(月) 03:01:45.14ID:Nb+0WxCX
左上から順番に読んで引っかかる時はlet使うかな。パターンガードはwhere一択だね。
baseパッケージを雑に調べたんだけど、総数はそれぞれ
where: 2038
let: 665
case: 979
baseパッケージを雑に調べたんだけど、総数はそれぞれ
where: 2038
let: 665
case: 979
2017/10/16(月) 18:36:49.72ID:oTRCGw1x
そして余計な宗教戦争へ発展
2017/10/16(月) 21:17:09.38ID:UKE6NQTo
foo = \ n -> let xs = map fib [0 ..] in xs !! n
bar = let xs = map fib [0 ..] in \ n -> xs !! n
宗教はいくつか掛け持ちする方がいい
nonlocalにすればlifetimeが長いとか便利な言葉が使える
bar = let xs = map fib [0 ..] in \ n -> xs !! n
宗教はいくつか掛け持ちする方がいい
nonlocalにすればlifetimeが長いとか便利な言葉が使える
2017/10/16(月) 21:45:30.25ID:Nb+0WxCX
宗教で思い出したんだけど、みんなエディタは何使ってる?
https://github.com/rainbyte/haskell-ide-chart
Atom派が増えてきた気がする(Stepwise Debuggerってなんだろう)。
https://github.com/rainbyte/haskell-ide-chart
Atom派が増えてきた気がする(Stepwise Debuggerってなんだろう)。
2017/10/16(月) 23:03:58.10ID:wsZRBdk3
vscode+hie
2017/10/16(月) 23:06:05.01ID:1r/tGA5g
vscodeいいよな
他の言語でも大活躍
他の言語でも大活躍
2017/10/16(月) 23:09:52.45ID:wsZRBdk3
vimのlanguage server対応がもっと進んだらvimに戻りたい
2017/10/16(月) 23:13:43.26ID:RTfo5Gm3
https://wiki.haskell.org/Let_vs._Where#Problems_with_where
これ前者はクロージャみたいなものということなのかな
これ前者はクロージャみたいなものということなのかな
2017/10/17(火) 01:54:05.70ID:kmqw2VEi
spacemacs + intero
2017/10/17(火) 06:46:01.60ID:X7yOqbnN
HIE知らんかった。試してみよう。
自分もSpacemacsだわ。
自分もSpacemacsだわ。
2017/10/17(火) 08:53:48.72ID:NQL+y7y0
プログラミングに限らず、およそ文字列を編集する作業において、
vim以外のエディタは考えられない体になってしまった。
vim以外のエディタは考えられない体になってしまった。
2017/10/17(火) 10:17:04.48ID:1Byit6P4
vscodeはvimがクソなのがな
2017/10/17(火) 20:53:20.25ID:FkVJ0QE/
タイプミスが多いのでキー入力コマンド操作とか誤操作ばかりで死ぬ
2017/10/17(火) 21:34:05.58ID:lwYxKvg3
CoqとかAgdaもやろうとしてたからEmacs一択で、
Vimの操作性も習得したいと思ってたから結果的にSpacemacsに落ち着いたわ。
Vimの操作性も習得したいと思ってたから結果的にSpacemacsに落ち着いたわ。
2017/10/17(火) 21:45:06.92ID:dWslrgIK
Spacemacs知れようとして、Emacsのバージョン足りなくて死んだ
2017/10/17(火) 21:48:15.65ID:kmqw2VEi
静的どころか参照透明なんだし、補完は充実してほしいよなあ。
data Pen = Pineapple | Apple
apple = Apple
pen :: Pen
pen = a
もうこの時点で候補をappleに絞ってほしい。
data Pen = Pineapple | Apple
apple = Apple
pen :: Pen
pen = a
もうこの時点で候補をappleに絞ってほしい。
2017/10/17(火) 22:31:12.09ID:Is39GLXq
異教徒間の鍔迫り合いが始まる予感です?
2017/10/17(火) 22:46:49.54ID:bTvRRU/M
そんな「絞り込み」はそもそもできないしすべきでもない
そもそもその例の場合なら完全に redundant だとしてむしろ積極的にappleを除外してほしい
そもそもその例の場合なら完全に redundant だとしてむしろ積極的にappleを除外してほしい
2017/10/17(火) 22:58:58.88ID:kmqw2VEi
2017/10/17(火) 22:58:59.79ID:IqfDhIHj
2017/10/17(火) 23:07:03.82ID:kmqw2VEi
2017/10/17(火) 23:16:36.80ID:bTvRRU/M
id やら const やらの問題はさておき
そこでもし仮に apple に絞られたら相当イラつく
そこでもし仮に apple に絞られたら相当イラつく
2017/10/17(火) 23:25:06.39ID:IqfDhIHj
>>88
その例なら簡単にできるけど、一般的には相当厳しいと思うよ。
型がシノニムだったら、辿って元の型を探さないといけないね。
import されてたら、それも全て辿らないといけないね。
template が使われてたら、展開しないといけないね。
Cプリプロセッサが使われてたら、これも展開しないといけないね。
型を決定するのに関わる事は他にもいっぱいある (言語拡張とか)。
あと、参照透明は破られないという前提で話してると思うけど、
unsafePerformIO 関数があることを忘れないように。
その例なら簡単にできるけど、一般的には相当厳しいと思うよ。
型がシノニムだったら、辿って元の型を探さないといけないね。
import されてたら、それも全て辿らないといけないね。
template が使われてたら、展開しないといけないね。
Cプリプロセッサが使われてたら、これも展開しないといけないね。
型を決定するのに関わる事は他にもいっぱいある (言語拡張とか)。
あと、参照透明は破られないという前提で話してると思うけど、
unsafePerformIO 関数があることを忘れないように。
2017/10/18(水) 11:52:10.17ID:LmQIn2MI
まずは自動車を二人で運転したり、独裁者が二人いる国を作ってみればいいのだ
それができたら一人を機械で置き換えて人間+機械のコンビを作る
それができたら一人を機械で置き換えて人間+機械のコンビを作る
2017/10/18(水) 22:09:24.34ID:XAtaZZJd
Haskellでウェブアプリ作れますか?
2017/10/18(水) 22:40:49.32ID:CCDizLJ7
2017/10/18(水) 23:03:06.30ID:449CvZ10
webフレームワーク周りは一時期乱立とは言わないまでもだいぶ混乱してた印象があるけど
最近の流れはどうなってるんだろうか
最近の流れはどうなってるんだろうか
97デフォルトの名無しさん
2017/10/18(水) 23:44:26.71ID:gezDC8oz すみません、ある型とその取扱い関数の
標準・追加ライブラリでの有無の確認なのですが、
実数の範囲を表す型で(A,B)というのがあったとして
A以上B未満の範囲を示していて、
それがリストに[ s1, s2, s3, s4 ]の様に並べられているとして
その中身は[(0,1),(1,2),(2,4),(4,8)]としますと
実数「1.5」はこのリスト3番目の変数が示す範囲に
含まれますと教えてくれる関数なのですが、
このような型と関数があるライブラリを知っていましたら
教えて下さい。
標準・追加ライブラリでの有無の確認なのですが、
実数の範囲を表す型で(A,B)というのがあったとして
A以上B未満の範囲を示していて、
それがリストに[ s1, s2, s3, s4 ]の様に並べられているとして
その中身は[(0,1),(1,2),(2,4),(4,8)]としますと
実数「1.5」はこのリスト3番目の変数が示す範囲に
含まれますと教えてくれる関数なのですが、
このような型と関数があるライブラリを知っていましたら
教えて下さい。
2017/10/18(水) 23:47:55.99ID:gezDC8oz
すみません。
「リスト2番目」の間違いでした。
「リスト2番目」の間違いでした。
2017/10/18(水) 23:54:52.59ID:JBC50Xi/
Yesodの辛さを述べた記事を最近みた。
100デフォルトの名無しさん
2017/10/19(木) 00:31:32.35ID:IrC75yTx 最近なら servant が多いんじゃないか?
101デフォルトの名無しさん
2017/10/19(木) 00:42:33.76ID:IrC75yTx >>97
ライブラリ探す暇があったら自分で書いたほうが早いだろ
import Data.List (find)
type Range = (Double,Double)
blah :: Double -> [Range] -> Maybe Range
blah x rs = find (¥(inf,sup) -> inf <= x && x <= sup) rs
ranges = [(0.0,1.0),(1.0,2.0),(2.0,4.0),(4.0,8.0)]
main = print $ blah 1.5 ranges
ライブラリ探す暇があったら自分で書いたほうが早いだろ
import Data.List (find)
type Range = (Double,Double)
blah :: Double -> [Range] -> Maybe Range
blah x rs = find (¥(inf,sup) -> inf <= x && x <= sup) rs
ranges = [(0.0,1.0),(1.0,2.0),(2.0,4.0),(4.0,8.0)]
main = print $ blah 1.5 ranges
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★3 [BFU★]
- 止まらぬ「日本売り」 高市財政への懸念で進む金利上昇と円安 [蚤の市★]
- 【いちご高騰】ヤマザキのクリスマスケーキ、いちご無し販売 [おっさん友の会★]
- 【音楽】『日本レコード大賞』各賞発表! 大賞候補にILLIT、M!LK、ふるっぱー、幾田りら、アイナ、ミセスら… 作詩賞は指原莉乃 [冬月記者★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★10 [樽悶★]
- 中国「高市が謝罪しなければ、ハニトラに引っかかった日本の政治家を公表する」 [804169411]
- 中国、レアアース輸出制限wwwwwwwwwwwwwwwwwwwwwwww🎌 [329329848]
- 俺におやすみって言っていくスレ
- かっぱ寿司さん、たった180円で腹いっぱい食える神メニューを作ってしまうwwwこれもう福士だろ
- 【実況】博衣こよりのえちえちカービィのエアライダー🧪★3
- 【35🌸専】なんG さくらみこ桃鉄配信実況スレ🏡【ホロライブ▶】
