関数型プログラミング言語 Haskell について語るスレです。
haskell.org (公式サイト)
http://www.haskell.org/
前スレ
関数型プログラミング言語Haskell Part28
http://echo.2ch.net/test/read.cgi/tech/1428597032/
関数型プログラミング言語Haskell Part30 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/01/15(日) 23:43:54.28ID:Vh4eztBk
222デフォルトの名無しさん
2017/03/16(木) 23:21:15.32ID:xmljzEMX readIntegerだった
うろ覚えだったすまん
うろ覚えだったすまん
223デフォルトの名無しさん
2017/03/17(金) 00:45:32.34ID:gNJfFjGV224デフォルトの名無しさん
2017/03/17(金) 00:46:54.92ID:gNJfFjGV これは全然メタじゃない
225デフォルトの名無しさん
2017/03/18(土) 18:18:35.73ID:bH58Sv6/ >>221
ありがとうございます。10倍速く動くようになりました
ありがとうございます。10倍速く動くようになりました
226デフォルトの名無しさん
2017/03/18(土) 19:37:41.00ID:bH58Sv6/ ひょっとして、foldl か foldl' かよりも、そこに渡す二項関数の方を正格にするか遅延のまま
かが速度に関わっているのでしょうか?
※二項関数は(+)やmaxのように単純であるとする
かが速度に関わっているのでしょうか?
※二項関数は(+)やmaxのように単純であるとする
227デフォルトの名無しさん
2017/03/19(日) 04:00:42.66ID:o/zGHEH2 ん、何言ってんだ。二項関数の問題じゃなくて二項関数に渡す『二つの引数が今すぐどちらも値まで評価されるかどうか』が問題なのか。
される場合、foldl'の方がサンクなしの省メモリ(定数空間?)で処理が進むのか。
foldl'で正格に評価するといってもWHNFで止まるんですもんね
サンクが要らないからその部分(サンクの作成と破棄)のオーバーヘッドがなくなってちょっとだけ速くなるのか。でもあくまで foldl' の利点は省メモリの方か
される場合、foldl'の方がサンクなしの省メモリ(定数空間?)で処理が進むのか。
foldl'で正格に評価するといってもWHNFで止まるんですもんね
サンクが要らないからその部分(サンクの作成と破棄)のオーバーヘッドがなくなってちょっとだけ速くなるのか。でもあくまで foldl' の利点は省メモリの方か
228デフォルトの名無しさん
2017/03/19(日) 10:06:06.54ID:awlj00/Y229デフォルトの名無しさん
2017/03/19(日) 10:30:10.95ID:fNC16+Hl 速度の比較をしたいならまずプロファイルを取りなさい
230デフォルトの名無しさん
2017/03/19(日) 14:43:43.30ID:qjqnp6Y8 V8エンジンで無茶苦茶速くなったことだし、もうTypeScriptでいいやと思うようになった。
231デフォルトの名無しさん
2017/03/20(月) 20:37:53.08ID:H6ds3WUf 教えてください
何らかの型の巨大データがメモリ内にあったとして、データが用済みになった時に手動で解放する方法がHaskellにありますか?
そもそもそういう発想が間違いかも?
何らかの型の巨大データがメモリ内にあったとして、データが用済みになった時に手動で解放する方法がHaskellにありますか?
そもそもそういう発想が間違いかも?
232デフォルトの名無しさん
2017/03/20(月) 22:25:28.88ID:THpWaU1J mark&sweepいらないなと思った時に参照カウントに変更する方法
言語を変えなくてもコンパイラを変えるだけでできそう(できたとは言ってない)
言語を変えなくてもコンパイラを変えるだけでできそう(できたとは言ってない)
233デフォルトの名無しさん
2017/03/20(月) 22:42:41.03ID:tOiVLltG >>231
用済みになった時に手動で解放というのが、
1) たとえどこかから参照されていようが強制的に解放する
2) 参照がなく解放できる時にスケジューリングを待たずにGCを強制する
どちらの意味なのか分からん。
前者のつもりなら、たしか方法はなかったような気がする。
この発想は間違っていると思う。
自分が仕込んだメモリリークの問題を隠しているだけ。
後者なら、base パッケージの Systwm.Mem モジュールを調べてみて。
これなら分かる。
例えばゲームで、できるだけステージ途中で時間かかかるGCが起動しないように、
ステージ開始直前に強制的にGCさせたい、とか。
用済みになった時に手動で解放というのが、
1) たとえどこかから参照されていようが強制的に解放する
2) 参照がなく解放できる時にスケジューリングを待たずにGCを強制する
どちらの意味なのか分からん。
前者のつもりなら、たしか方法はなかったような気がする。
この発想は間違っていると思う。
自分が仕込んだメモリリークの問題を隠しているだけ。
後者なら、base パッケージの Systwm.Mem モジュールを調べてみて。
これなら分かる。
例えばゲームで、できるだけステージ途中で時間かかかるGCが起動しないように、
ステージ開始直前に強制的にGCさせたい、とか。
234デフォルトの名無しさん
2017/03/20(月) 22:58:59.79ID:H6ds3WUf >>233
ありがとう。質問してよかった。
こちらのイメージ的にはCで言うところのfreeで1)が近いと思うが、GCを強制する
発想がそもそもなかったです
断続的にでかいデータを扱うので、次のロードまでにメモリを解放しておく必要
がありまして。
Systwm.Memを調べてみます。
ありがとう。質問してよかった。
こちらのイメージ的にはCで言うところのfreeで1)が近いと思うが、GCを強制する
発想がそもそもなかったです
断続的にでかいデータを扱うので、次のロードまでにメモリを解放しておく必要
がありまして。
Systwm.Memを調べてみます。
235デフォルトの名無しさん
2017/03/21(火) 07:16:46.72ID:RPjo5BAn 演算子の部分適用の書き方で
演算子との間にスペースを書かないのはHaskellの作法?
(+ 3) (3 +) じゃなく (+3) (3+) って書くじゃんみんな
演算子との間にスペースを書かないのはHaskellの作法?
(+ 3) (3 +) じゃなく (+3) (3+) って書くじゃんみんな
236デフォルトの名無しさん
2017/03/21(火) 09:36:45.55ID:bH1u/9cj みんなそうしてるから真似してそうしてるだけだろ。
わからないことは調べるのはめんどくさいから真似しておこうとか思ってそう。
わからないことは調べるのはめんどくさいから真似しておこうとか思ってそう。
237デフォルトの名無しさん
2017/03/21(火) 13:49:23.04ID:L0SduR/f >>235
普通に2項演算子として用いている場合は項と演算子とが独立してる感があるが、
部分適用した場合は「3を加える関数」という一塊の概念というイメージが強い
なんとなくだけどそんな使い分けではないかと思ってる
普通に2項演算子として用いている場合は項と演算子とが独立してる感があるが、
部分適用した場合は「3を加える関数」という一塊の概念というイメージが強い
なんとなくだけどそんな使い分けではないかと思ってる
238デフォルトの名無しさん
2017/03/21(火) 13:55:43.06ID:TPAad80u GUIには等幅ではないフォントがあるから
1ピクセル単位でスペースを描く作法とかありそう
1ピクセル単位でスペースを描く作法とかありそう
239デフォルトの名無しさん
2017/03/21(火) 14:18:51.18ID:kbUhzU5T Lispの関数 1+ とかの影響でない?
240デフォルトの名無しさん
2017/03/21(火) 14:46:18.79ID:LpaugWCV 逆にHaskellでだけスペース挟んだりしたくないだろ
241デフォルトの名無しさん
2017/03/21(火) 19:57:22.30ID:zopuGVTD 人間は文章を読むのに時間がかかる筈なので、質問と同時にGCを強制発動して、ユーザが質問を理解し返答を入力するまでの間にGCを終えたい
242デフォルトの名無しさん
2017/04/02(日) 18:01:47.89ID:HoO7tpUE 「関数プログラミングの思考法」で勉強してるんですが
「たのしく学ぼう!」は楽しく理解できる内容で
こちらは余計な表現は省いている硬派な文体ですね。
そのため反ってサクサク理解していけるのですが
皆さんどうでしょうか。
「たのしく学ぼう!」は楽しく理解できる内容で
こちらは余計な表現は省いている硬派な文体ですね。
そのため反ってサクサク理解していけるのですが
皆さんどうでしょうか。
243デフォルトの名無しさん
2017/04/02(日) 19:10:13.29ID:y9d2jD+G >>242
分かる。ノイズが多い本は理解を妨げる面があるよな。
分かる。ノイズが多い本は理解を妨げる面があるよな。
244デフォルトの名無しさん
2017/04/02(日) 19:17:33.68ID:W6VXUIjv ノイズが多い本……land of lispかな?
245デフォルトの名無しさん
2017/04/03(月) 17:43:18.72ID:n+rAkf5b 軽妙な喩えならいいんだがセンスない人がやると惨憺コース
246デフォルトの名無しさん
2017/04/03(月) 18:24:45.70ID:Qx3jr0sY H本に影響を受けて書かれたE本はセンスないし痛々しいしで読むのが辛かった
変な色気出して慣れないことをしないでくれ
変な色気出して慣れないことをしないでくれ
247デフォルトの名無しさん
2017/04/03(月) 20:16:55.66ID:uUmwarja >>244
Land of Lisp は何故か許せる
Land of Lisp は何故か許せる
248デフォルトの名無しさん
2017/04/03(月) 22:01:45.88ID:cuuaF505 ノイズじゃなくて冗長性だろ。
冗長性が多いほど失った記憶を復元しやすいから覚えやすいんだぞ。
そんなことも知らないのか馬鹿だなぁ。
冗長性が多いほど失った記憶を復元しやすいから覚えやすいんだぞ。
そんなことも知らないのか馬鹿だなぁ。
249デフォルトの名無しさん
2017/04/03(月) 22:37:33.25ID:uw3ZIsiG 暗記法かな?
250デフォルトの名無しさん
2017/04/04(火) 01:02:45.85ID:Zl9hd3NS ラノベじゃないんだ。インクと紙の無駄遣いは止してくれ
251デフォルトの名無しさん
2017/04/07(金) 19:19:25.31ID:sbHW0sIW ラノベで気軽にHaskellを覚えられたらいいんだけどな
252デフォルトの名無しさん
2017/04/07(金) 20:38:50.80ID:hQkI4asK むしろHaskelでラノベ全文を書いたらいいんだけどな
253デフォルトの名無しさん
2017/04/07(金) 20:56:28.47ID:lfhJbqMl >>251
「Haskellを覚える」の意味が分からん
Haskellの何が覚えられないんだ?
文法一覧表とか入門書をいちいち見ないとコーディングできないとか?
それなら、たとえラノベに分かり易く書かれていようと、読むだけじゃ憶えられんぞ
「Haskellを覚える」の意味が分からん
Haskellの何が覚えられないんだ?
文法一覧表とか入門書をいちいち見ないとコーディングできないとか?
それなら、たとえラノベに分かり易く書かれていようと、読むだけじゃ憶えられんぞ
254デフォルトの名無しさん
2017/04/07(金) 21:28:25.18ID:TruQxjxN 英語で遠回りして結局覚えられない奴
255デフォルトの名無しさん
2017/04/07(金) 21:40:36.27ID:aTgPduXz Haskellをというか、ライブラリの便利な使い方を覚えるってことかな
ライブラリの型シグネチャとチョロチョロっとした英語の説明読んで、想像力働かせて『これは今までの処理がこうこう、こういう書き方でできるようになって便利ですね』と理解するのが難しい
<* や *> のパーサーでの使い方(認識だけして捨てる)を知った時はアハ体験だった
こういうのをドキュメント読んだだけで気付くということができない
ライブラリの型シグネチャとチョロチョロっとした英語の説明読んで、想像力働かせて『これは今までの処理がこうこう、こういう書き方でできるようになって便利ですね』と理解するのが難しい
<* や *> のパーサーでの使い方(認識だけして捨てる)を知った時はアハ体験だった
こういうのをドキュメント読んだだけで気付くということができない
256デフォルトの名無しさん
2017/04/07(金) 21:44:12.76ID:aTgPduXz 基礎ライブラリは抽象的なので、そこから応用的具象化を想像する能力が足りない
初めてApplicativeのドキュメントを読んでその有用性に気付く奴はIQ高過ぎだろ
頭がpureだった俺は戦意喪失したものだよ
初めてApplicativeのドキュメントを読んでその有用性に気付く奴はIQ高過ぎだろ
頭がpureだった俺は戦意喪失したものだよ
257デフォルトの名無しさん
2017/04/07(金) 21:57:17.10ID:oAg/9XNg 誰かHaskellで萌える関数型プログラミング入門書いてくれ。
258デフォルトの名無しさん
2017/04/07(金) 22:45:53.56ID:961Byv/H259デフォルトの名無しさん
2017/04/07(金) 23:09:24.70ID:lfhJbqMl >>255
ライブラリドキュメントを眺めていて、どんな使い方ができるんだろと想像するのは、そりゃ難しいよ。
それはドキュメントの使い方を間違っていると思う。
俺はアプリケーションを作っている時、
1. こういう引数からこういう結果になる関数が欲しい
2. 1の計算を分解すると A、B、C という計算の組み合わせになりそうだ
3. A、B、C を計算する関数をすでに誰か作っていないだろうか?
という順に考えて、A、B、C をドキュメントから探す、という使い方をしてる。
*> の例なら、誰かがパーサーで認識だけして捨てるのに使っているのを見てアハ体験をするのではない。
そうじゃなくて、初めにパーサーを作っていて認識だけして捨てたいという欲求が湧いてきて、
じゃあどうするかと考えた時に、まず「認識だけして捨てる」とはどういう計算なのかを分析する。
そうして事の本質を捉えてからドキュメントから求めるものを探す。
その時、たまたま既にパーサーの構造を Applicative で表現していれば、
ドキュメントの Control.Applicative モジュールの項を真っ先に探して *> を見つけるだろうし、
別の方法で実装していれば、実現する関数はライブラリには無さそうだなと諦めて自作するかも知れない。
何れにしてもアハ体験の出番はない。
言っておくが、アハ体験が悪いわけではないぞ。
他人の解説やソースコードを見て、そういう使い方もできるのかと学ぶ事は大事だ。
ただ、ドキュメントをそのように使うのは違うだろ、つまり(ライブラリ)ドキュメントは
解説書でも読み物でもないだろ、と言いたいんだ。
ライブラリドキュメントを眺めていて、どんな使い方ができるんだろと想像するのは、そりゃ難しいよ。
それはドキュメントの使い方を間違っていると思う。
俺はアプリケーションを作っている時、
1. こういう引数からこういう結果になる関数が欲しい
2. 1の計算を分解すると A、B、C という計算の組み合わせになりそうだ
3. A、B、C を計算する関数をすでに誰か作っていないだろうか?
という順に考えて、A、B、C をドキュメントから探す、という使い方をしてる。
*> の例なら、誰かがパーサーで認識だけして捨てるのに使っているのを見てアハ体験をするのではない。
そうじゃなくて、初めにパーサーを作っていて認識だけして捨てたいという欲求が湧いてきて、
じゃあどうするかと考えた時に、まず「認識だけして捨てる」とはどういう計算なのかを分析する。
そうして事の本質を捉えてからドキュメントから求めるものを探す。
その時、たまたま既にパーサーの構造を Applicative で表現していれば、
ドキュメントの Control.Applicative モジュールの項を真っ先に探して *> を見つけるだろうし、
別の方法で実装していれば、実現する関数はライブラリには無さそうだなと諦めて自作するかも知れない。
何れにしてもアハ体験の出番はない。
言っておくが、アハ体験が悪いわけではないぞ。
他人の解説やソースコードを見て、そういう使い方もできるのかと学ぶ事は大事だ。
ただ、ドキュメントをそのように使うのは違うだろ、つまり(ライブラリ)ドキュメントは
解説書でも読み物でもないだろ、と言いたいんだ。
260デフォルトの名無しさん
2017/04/07(金) 23:36:42.37ID:+bl73oc8 本来であれば入門編は有用性ではなく単相型の欠陥に気付かせるべきなんだよ
VectorInt型とかVectorChar型とか再発明を繰り返すループに気付け
その後でパラメータ多相編とアドホック多相編をやるべき
VectorInt型とかVectorChar型とか再発明を繰り返すループに気付け
その後でパラメータ多相編とアドホック多相編をやるべき
261デフォルトの名無しさん
2017/04/08(土) 01:14:10.72ID:7QsPN9bB >>258
買う買う。
買う買う。
262デフォルトの名無しさん
2017/04/08(土) 20:59:41.01ID:gcfXcmks >>258
かうぞー!
かうぞー!
263デフォルトの名無しさん
2017/04/09(日) 00:41:02.14ID:jUVd4dkj 萌は興味を引かせる手段にはなれても、理解を深める手段にはなれんよ
264デフォルトの名無しさん
2017/04/09(日) 01:31:48.04ID:cVuKvPJL Kindleで、標準ライブラリの一つにつき一冊かけて特集した本を電子書籍で出して
抽象的な基礎ライブラリはその応用可能性をねっとりと絡み付くまでに例示して
抽象的な基礎ライブラリはその応用可能性をねっとりと絡み付くまでに例示して
265デフォルトの名無しさん
2017/04/09(日) 01:36:18.18ID:xs3hgIsU いいっすね読んでみたい
GitBookあたりで無料で
GitBookあたりで無料で
266デフォルトの名無しさん
2017/04/09(日) 06:15:21.14ID:bWQLB/aV HaskellはHOW TO本が少な過ぎる
写経するだけでサクッと実用アプリを作れるような本が欲しいよね
IOが七章や八章から登場する入門書とか
Haskellを普及させる気ねぇだろw
写経するだけでサクッと実用アプリを作れるような本が欲しいよね
IOが七章や八章から登場する入門書とか
Haskellを普及させる気ねぇだろw
267デフォルトの名無しさん
2017/04/09(日) 11:16:11.13ID:6mlbYxYb >>266
他言語でもそんな本は無いんじゃないか?
「サクッと」と「実用」がどんなレベルか知らんけど。
一応 Beginning Haskell が Web 系で実用的で、
入門者がアプリケーションを作るまでを指導してくれるが、洋書だ。
他言語でもそんな本は無いんじゃないか?
「サクッと」と「実用」がどんなレベルか知らんけど。
一応 Beginning Haskell が Web 系で実用的で、
入門者がアプリケーションを作るまでを指導してくれるが、洋書だ。
268デフォルトの名無しさん
2017/04/09(日) 13:25:40.09ID:k7pBYoHG Pythonなんかは
サンプルコードを書き書きしてるだけで
機械学習が出来ちゃう本なんかが出てるね
サンプルコードを書き書きしてるだけで
機械学習が出来ちゃう本なんかが出てるね
269デフォルトの名無しさん
2017/04/09(日) 14:32:15.66ID:h7Zssp3Z Haskellでエロイベント満載の
エロゲーを作る入門書が欲しい
エロゲーを作る入門書が欲しい
270デフォルトの名無しさん
2017/04/09(日) 22:07:49.23ID:iyanZMWu Haskellってゲーム創るのに向いてるの?
271デフォルトの名無しさん
2017/04/10(月) 00:42:05.83ID:6CfyD+kA エロゲー作るのに大事なのはエロ絵だけ、プログラミング言語なんて全く関係ない
272デフォルトの名無しさん
2017/04/10(月) 01:04:16.20ID:rMcgJXKg 圧縮した画像を取り出したりするのはC言語だと思う
他の言語を混ぜても、小規模ならC言語の占める割合が高い
だから他の言語はスケーラビリティがーと言って大規模化しようとする
他の言語を混ぜても、小規模ならC言語の占める割合が高い
だから他の言語はスケーラビリティがーと言って大規模化しようとする
273デフォルトの名無しさん
2017/04/10(月) 02:02:19.00ID:U7/Um2af C言語開発はストレスで禿げるから嫌だ
居玉で横歩取りするような将棋は嫌だ
居玉で横歩取りするような将棋は嫌だ
274デフォルトの名無しさん
2017/04/10(月) 03:00:41.47ID:IhGuSZfb >>270
モナディウスあるから作れないことはないけど、C/C++のが向いてる。
Haskellに限らずJavaやC#みたいなGC使ってるのはタイミングがシビアなゲームには向かない。
(やるとしても場面切り替えのタイミングまでGC止めたりと、工夫が必要)
シビアじゃないゲームならUnityの公式言語だったり、PS VitaのSDKもC#だし、ゲームプラットフォームの選択肢多いC#じゃね?
モナディウスあるから作れないことはないけど、C/C++のが向いてる。
Haskellに限らずJavaやC#みたいなGC使ってるのはタイミングがシビアなゲームには向かない。
(やるとしても場面切り替えのタイミングまでGC止めたりと、工夫が必要)
シビアじゃないゲームならUnityの公式言語だったり、PS VitaのSDKもC#だし、ゲームプラットフォームの選択肢多いC#じゃね?
275デフォルトの名無しさん
2017/04/10(月) 03:05:43.30ID:Zvy/cqZx とはいえ今時ゲームというばスマホだから
スマホ対応の難しい言語は論外だろうな
スマホ対応の難しい言語は論外だろうな
276デフォルトの名無しさん
2017/04/10(月) 03:14:10.80ID:IhGuSZfb ゲームとは言わんが、Haskellでスマフォアプリ作れたらなぁ。。。
Webアプリを作って、URLをスマフォの画面に置くのが関の山だろう。
Yesod本の和訳早よ。
Webアプリを作って、URLをスマフォの画面に置くのが関の山だろう。
Yesod本の和訳早よ。
277デフォルトの名無しさん
2017/04/10(月) 03:52:14.23ID:mPsedSNt 同系統の言語のCleanはIDEに標準で付いてくるサンプルに
2D横スクロールアクションみたいなゲームとかTCPとかあるから
そっち使うとかは?
2D横スクロールアクションみたいなゲームとかTCPとかあるから
そっち使うとかは?
278デフォルトの名無しさん
2017/04/10(月) 03:58:17.94ID:U7/Um2af Androidで動くHaskellの話はどうなったの?
279デフォルトの名無しさん
2017/04/10(月) 05:18:31.19ID:t1irNdwQ どの言語でも無理矢理Androidで動かす狂人はいるけど
実用性はというと・・・お察しください
実用性はというと・・・お察しください
280デフォルトの名無しさん
2017/04/10(月) 08:42:46.72ID:qzcpQwFo >>271
声優だって大事
声優だって大事
281デフォルトの名無しさん
2017/04/10(月) 11:21:56.58ID:QIjIFLSF purescriptとりあえず入れてみたけど、コンパイラしかないのな
282デフォルトの名無しさん
2017/04/10(月) 21:28:48.23ID:490JO927 arrayの要素数を型に含めることはできないの?
それがあれば、行列の積とかで便利だと思うんだけど
オレ頭が悪いんで言っている意味が分からないかな…
それがあれば、行列の積とかで便利だと思うんだけど
オレ頭が悪いんで言っている意味が分からないかな…
283デフォルトの名無しさん
2017/04/10(月) 21:55:22.44ID:CykROrgz Dependent Typeで検索
284デフォルトの名無しさん
2017/04/10(月) 23:31:00.56ID:hsDcS7Wy JVMで動くHaskellことFregeは最近どうなっているのか
285デフォルトの名無しさん
2017/04/11(火) 00:12:08.28ID:jIIzMyke Haskell風AltJSのベンチマーク - Qiita
http://qiita.com/philopon/items/1451f6b8c5ccec41479d
ブラウザゲーム作るにはまだまだなのかな
http://qiita.com/philopon/items/1451f6b8c5ccec41479d
ブラウザゲーム作るにはまだまだなのかな
286デフォルトの名無しさん
2017/04/11(火) 00:13:19.38ID:rtc8M2j0287デフォルトの名無しさん
2017/04/11(火) 00:40:49.07ID:ErICxElM 仮想機械上にランタイムシステムを敷いて、さらにその上で動かすの?
……遅そう
……遅そう
288デフォルトの名無しさん
2017/04/12(水) 23:48:48.59ID:BfJ17y0b289デフォルトの名無しさん
2017/04/12(水) 23:59:29.26ID:QF962/+T >>288
それはHaskellプログラマに特有の能力じゃないし、
他言語のプログラマよりも特に優れている訳でもないから、
Haskell本に求めても無駄。
強いて挙げれば「珠玉のアルゴリズムデザイン」。
でも、もっと他の本を読んで実践した方がいい。
例えば「いかにして問題を解くか」シリーズ。
それはHaskellプログラマに特有の能力じゃないし、
他言語のプログラマよりも特に優れている訳でもないから、
Haskell本に求めても無駄。
強いて挙げれば「珠玉のアルゴリズムデザイン」。
でも、もっと他の本を読んで実践した方がいい。
例えば「いかにして問題を解くか」シリーズ。
290デフォルトの名無しさん
2017/04/13(木) 00:17:54.59ID:tWZEhHcW Haskellは数学だから基本は数学本に丸投げだよな
しかしλとか∀とか真面目に説明した数学本は見たことがない
しかしλとか∀とか真面目に説明した数学本は見たことがない
291デフォルトの名無しさん
2017/04/13(木) 02:17:21.29ID:jvdUllVk >>290
知らんだけだな
知らんだけだな
292デフォルトの名無しさん
2017/04/13(木) 02:32:00.36ID:WRWoTzYv 数学の裏付けで支えられてる言語って安心感ある
誰しも学習に費やした時間を反故にしたくないのだ
つぶしが利く共通項目を辿って成長していきたい
誰しも学習に費やした時間を反故にしたくないのだ
つぶしが利く共通項目を辿って成長していきたい
293デフォルトの名無しさん
2017/04/13(木) 06:59:19.11ID:m/ZfxtWH >>288
むしろそれはプログラマに必須の能力。
Haskellは普通の言語でそれが見えない人にも見える様にしてくれる。
(普通の言語ではプログラマになれなかった人でもプログラマになれるかも知れない言語)
本としてはHaskell本じゃ無いが、プログラミングinOcamlが良かった。
その後にプログラミングHaskell読むと良い。
どうしてもモナド理解したかったらすごいH本も読む。
CやJavaでマージソートのコード読んでも何やってるのか分からんかったが、Haskellだと初心者向けのアルゴリズム本で、マージソートとはこう言う動きをするソートって図解を読んで、自分で書けた。
今にして思えば、他の言語のアルゴリズム本はソートがリスト前提なのに配列でいきなり作るから分かりにくいって気付いたが。
リストで作って、遅いから配列にしたい。
どう書く?みたいな書き方なら他の言語でも分かりやすいのに。
むしろそれはプログラマに必須の能力。
Haskellは普通の言語でそれが見えない人にも見える様にしてくれる。
(普通の言語ではプログラマになれなかった人でもプログラマになれるかも知れない言語)
本としてはHaskell本じゃ無いが、プログラミングinOcamlが良かった。
その後にプログラミングHaskell読むと良い。
どうしてもモナド理解したかったらすごいH本も読む。
CやJavaでマージソートのコード読んでも何やってるのか分からんかったが、Haskellだと初心者向けのアルゴリズム本で、マージソートとはこう言う動きをするソートって図解を読んで、自分で書けた。
今にして思えば、他の言語のアルゴリズム本はソートがリスト前提なのに配列でいきなり作るから分かりにくいって気付いたが。
リストで作って、遅いから配列にしたい。
どう書く?みたいな書き方なら他の言語でも分かりやすいのに。
294デフォルトの名無しさん
2017/04/13(木) 11:10:39.92ID:tWZEhHcW295デフォルトの名無しさん
2017/04/15(土) 17:32:06.76ID:JvKdzHxp 数学の分からん馬鹿の多い板だな
>>293
C/Java のソートはインプレイスであることが優先されるからね
C/Java のソートはインプレイスであることが優先されるからね
297デフォルトの名無しさん
2017/04/18(火) 05:20:40.72ID:MjkxKRKp キャッチコピーすごいw
Haskellの美しさを
知っている人は、
人生に絶望することはない。
Haskellで世界を変えたい。
http://www.shuwasystem.co.jp/products/7980img/4806/a.jpg
Haskellの美しさを
知っている人は、
人生に絶望することはない。
Haskellで世界を変えたい。
http://www.shuwasystem.co.jp/products/7980img/4806/a.jpg
298デフォルトの名無しさん
2017/04/18(火) 05:48:02.94ID:xmEJeblZ Haskellを学ぶことによりC++の凄さを知りました
299デフォルトの名無しさん
2017/04/18(火) 08:09:34.88ID:aKjw+TWL ちょっとオカルトチックにするのやめて
またHaskell馬鹿にされるじゃん
またHaskell馬鹿にされるじゃん
300デフォルトの名無しさん
2017/04/18(火) 09:21:24.08ID:YlfHEX7H その本めくってみたけど基本的な言語機能を延々噛み砕いて説明してるだけのバカが崇めるためにあるような本だった
インテリアに最適
インテリアに最適
301デフォルトの名無しさん
2017/04/18(火) 09:45:04.79ID:zekwtXkL プログラミング言語を国家か何かのように考えてるやつはみんなオカルト
それをやめさせることができたらノーベル平和賞を取れる
それをやめさせることができたらノーベル平和賞を取れる
302デフォルトの名無しさん
2017/04/18(火) 10:44:46.76ID:aKjw+TWL Haskellは単なる科学であり魔術でも宗教でもない。余計な飾りは要らない。ただただ成果を出せばよい
というわけでHaskellの成果を挙げて
というわけでHaskellの成果を挙げて
303デフォルトの名無しさん
2017/04/18(火) 18:17:01.21ID:cdFptP3+ >>302
> Haskellは単なる科学であり魔術でも宗教でもない。余計な飾りは要らない。ただただ成果を出せばよい
正確に言えば「Haskellは単なる技術であり」だな
科学の主たる目的は真理の探究、社会に価値を生み出す(または価値を増加させたり価値の増加を容易にする)のは技術
個々のプログラミング言語、特に実用を目指している言語、は
言語に関する様々な理論(構文の理論や意味論などで、これらは自然科学ではないが数学という科学…形式哲学とでも呼ぶべきもの…の一分野の成果)の
適用としてより「容易にプログラムを書ける」とか「よりバグの発生する可能性を減らす」といった現世的な御利益つまり価値の増大や創造を求めたものだから
> というわけでHaskellの成果を挙げて
うん、技術的成果としてのプログラミング言語に対して、この要請は実に適切だね
> Haskellは単なる科学であり魔術でも宗教でもない。余計な飾りは要らない。ただただ成果を出せばよい
正確に言えば「Haskellは単なる技術であり」だな
科学の主たる目的は真理の探究、社会に価値を生み出す(または価値を増加させたり価値の増加を容易にする)のは技術
個々のプログラミング言語、特に実用を目指している言語、は
言語に関する様々な理論(構文の理論や意味論などで、これらは自然科学ではないが数学という科学…形式哲学とでも呼ぶべきもの…の一分野の成果)の
適用としてより「容易にプログラムを書ける」とか「よりバグの発生する可能性を減らす」といった現世的な御利益つまり価値の増大や創造を求めたものだから
> というわけでHaskellの成果を挙げて
うん、技術的成果としてのプログラミング言語に対して、この要請は実に適切だね
304デフォルトの名無しさん
2017/04/18(火) 20:45:33.32ID:+2Ki/5Wl あのスレの次スレが立ってないからってこっちくるのはヤメレ
305デフォルトの名無しさん
2017/04/20(木) 11:33:28.13ID:UeCe6jDz 成果出まくりのC/C++はどちらかというと嫌われ者なので
C/C++の成果をどうやって否定しようかと知恵を絞っているのが現実
成果主義は机上の空論
C/C++の成果をどうやって否定しようかと知恵を絞っているのが現実
成果主義は机上の空論
306デフォルトの名無しさん
2017/04/20(木) 14:02:32.75ID:3rvpL7hF HaskellはC++に挑む気はなさそう(代わりにRustが挑んでそう)
Haskellの相手は頑張ってJavaでしょ
Javaクラスのパフォーマンスを少ない労力でパパッと実現みたいな
一応ネイティブで動くみたいだがランタイムシステムの監督の元だし、このランタイムシステムの効率ってのが怪しい
ガベコレ技術なんかJavaのそれに何周も遅れとってそうだし
参照透明だと最適化かけ易いって? 最適化の研究進んでるの?
Haskellの相手は頑張ってJavaでしょ
Javaクラスのパフォーマンスを少ない労力でパパッと実現みたいな
一応ネイティブで動くみたいだがランタイムシステムの監督の元だし、このランタイムシステムの効率ってのが怪しい
ガベコレ技術なんかJavaのそれに何周も遅れとってそうだし
参照透明だと最適化かけ易いって? 最適化の研究進んでるの?
307デフォルトの名無しさん
2017/04/20(木) 15:34:20.89ID:zhxiAG0o >>306
確かにGHCはあまり性能を追求しないね。
Haskell、OCaml、RacketでGCのレイテンシを測る
http://postd.cc/measuring-gc-latencies-in-haskell-ocaml-racket/
>Haskell:ワーストケースの停止時間は51ミリ秒
>OCaml:多くの停止時間は220マイクロ秒から1ミリ秒の間で、最長は2.7ミリ秒
確かにGHCはあまり性能を追求しないね。
Haskell、OCaml、RacketでGCのレイテンシを測る
http://postd.cc/measuring-gc-latencies-in-haskell-ocaml-racket/
>Haskell:ワーストケースの停止時間は51ミリ秒
>OCaml:多くの停止時間は220マイクロ秒から1ミリ秒の間で、最長は2.7ミリ秒
308デフォルトの名無しさん
2017/04/20(木) 23:42:51.61ID:bRzOMROq haskellをdisるスレ
309デフォルトの名無しさん
2017/04/21(金) 15:08:22.39ID:FrhbrHvt >>307
OCamlは性能★だけ★が売りだから速くて当然
元祖MLの醜い構文を正しモジュールに関連する諸機能を追加したのがStandard MLで
元祖MLを生み出したRobin Milner自身もStandard MLに入れ込んでいた
(Standard MLのformal semanticsの定義書とかまでMIT Pressから出版したしね)
ところがフランスINRIAの連中がMilnerやPaulsonらイギリスのStandard MLグループに対抗して
昔のMLの醜い構文のまま言語をオブジェクト指向へと拡張して作ったのがOCaml
でっ、実行性能の差で生き残ったのはOCaml
お蔭でMLはグチャグチャでグロテスクな構文のほうが生き残ってしまいましたとさ
だからOCamlは実行性能だけは良くて当然なんだよ、だってそれだけでML界の競争を生き残って来たんだから
OCamlは性能★だけ★が売りだから速くて当然
元祖MLの醜い構文を正しモジュールに関連する諸機能を追加したのがStandard MLで
元祖MLを生み出したRobin Milner自身もStandard MLに入れ込んでいた
(Standard MLのformal semanticsの定義書とかまでMIT Pressから出版したしね)
ところがフランスINRIAの連中がMilnerやPaulsonらイギリスのStandard MLグループに対抗して
昔のMLの醜い構文のまま言語をオブジェクト指向へと拡張して作ったのがOCaml
でっ、実行性能の差で生き残ったのはOCaml
お蔭でMLはグチャグチャでグロテスクな構文のほうが生き残ってしまいましたとさ
だからOCamlは実行性能だけは良くて当然なんだよ、だってそれだけでML界の競争を生き残って来たんだから
310デフォルトの名無しさん
2017/04/26(水) 18:54:44.10ID:tyKqE9/b Haskellで書かれた日本人作のゲーム、Steamで販売されてる
http://store.steampowered.com/app/591640
http://store.steampowered.com/app/591640
311デフォルトの名無しさん
2017/04/27(木) 14:26:27.43ID:7iFRDQtz うぉおおおおおお
312デフォルトの名無しさん
2017/04/27(木) 16:50:12.06ID:YJ6E48rA 『教養としての関数型プログラミングHaskell』とかいう分厚い本どうなの
313デフォルトの名無しさん
2017/04/27(木) 16:53:18.87ID:j4z9g1Hc 高価なウンコと聞いた
314デフォルトの名無しさん
2017/04/27(木) 18:37:54.82ID:dGEnPbzp 読んでないが筆者の名前はhackageでよく目にする
謎のオレオレライブラリを作るのが好きな人という印象だ
https://hackage.haskell.org/user/YoshikuniJujo
謎のオレオレライブラリを作るのが好きな人という印象だ
https://hackage.haskell.org/user/YoshikuniJujo
315デフォルトの名無しさん
2017/04/27(木) 21:51:28.67ID:fwPw5Zvz ステマか?
316デフォルトの名無しさん
2017/04/27(木) 22:06:53.42ID:YJ6E48rA いや純粋に黒くて大きくて書店で異様な存在感を放ってたので気になったんだけどウンコだったのか
317デフォルトの名無しさん
2017/04/27(木) 22:20:40.24ID:lNlBSSzH >>313
Amazonレビューにキツめのがついてたわ
Amazonレビューにキツめのがついてたわ
318デフォルトの名無しさん
2017/04/27(木) 22:23:13.42ID:lNlBSSzH 秀○システムは毛の壁本出してしまうという暴挙以来どうもイメージが悪くてな……
319デフォルトの名無しさん
2017/04/27(木) 23:09:35.55ID:Koc4MigP タイトルからは計算論やらラムダ計算関係の知識を教えてくれそうな内容に見えるけど、
レビューや内容紹介を見ると「Haskell学習」とかなら良かったんじゃないかな?
と内容も見もせずに思いましたマル
レビューや内容紹介を見ると「Haskell学習」とかなら良かったんじゃないかな?
と内容も見もせずに思いましたマル
320デフォルトの名無しさん
2017/04/28(金) 00:28:50.88ID:YlIU0bJf 初心者向けにStackの使いこなし、チュートリアルとか書いた方が喜ばれたね。
321デフォルトの名無しさん
2017/04/28(金) 00:38:53.42ID:vr010bnw 失望しました。代わりに Chris Okasaki 先生の純粋関数型データ構造買います
■ このスレッドは過去ログ倉庫に格納されています
