- 1 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 22:19:28.26 ]
- haskell.org
ttp://www.haskell.org/ 日本語サイト ttp://www.sampou.org/cgi-bin/haskell.cgi ttp://www.shido.info/hs/ 過去ログ 関数型プログラミング言語Haskell Part1 ttp://pc.2ch.net/tech/kako/996/996131288.html Part2 ttp://pc2.2ch.net/test/read.cgi/tech/1013846140/ Part3 ttp://pc8.2ch.net/test/read.cgi/tech/1076418993/ Part4 ttp://pc8.2ch.net/test/read.cgi/tech/1140717775/ Part5 ttp://pc8.2ch.net/test/read.cgi/tech/1149263630/ Part6 ttp://pc11.2ch.net/test/read.cgi/tech/1162902266/ Part7 ttp://pc11.2ch.net/test/read.cgi/tech/1174211797/ Part8 ttp://pc11.2ch.net/test/read.cgi/tech/1193743693/ Part9 ttp://pc11.2ch.net/test/read.cgi/tech/1211010089/ Part10 ttp://pc12.2ch.net/test/read.cgi/tech/1231861873/ Part11 ttp://pc12.2ch.net/test/read.cgi/tech/1252382593/ Part12 ttp://hibari.2ch.net/test/read.cgi/tech/1272536128/ Part13 ttp://hibari.2ch.net/test/read.cgi/tech/1286706874/ Part14 ttp://hibari.2ch.net/test/read.cgi/tech/1299385928/ Part15 ttp://hibari.2ch.net/test/read.cgi/tech/1310199414/ Part16 ttp://toro.2ch.net/test/read.cgi/tech/1317958045/
- 191 名前:デフォルトの名無しさん [2012/01/13(金) 13:59:50.39 ]
- OverlappingInstances拡張を使って、instance F a
- 192 名前:質問です mailto:質問です [2012/01/13(金) 18:40:35.10 ]
- モナドのデータ m a と 関数 f :: a -> m b を使って、
モナドのデータ m b を作り出すことがなんで『合成』なの?
- 193 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 18:47:24.24 ]
- どこでそんな表現が使われてた
- 194 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 18:53:11.74 ]
- 複数の小さいデータを組み合わせて大きいデータを作るなら合成でいいんじゃね
- 195 名前:質問です mailto:sage [2012/01/13(金) 19:01:34.54 ]
- >>193 ここです
tnomura9.exblog.jp/15241458/ >>= 演算子はMaybe型関数とMaybe型関数を 合成する演算子になる、とありました
- 196 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 19:21:57.88 ]
- >>=は自然変換joinで自己関手を写像したものだから
Maybe圏からMaybe圏への関手だ、ぐらいの表現で良いのでは 合成と言うのは違う気がする
- 197 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 19:32:17.88 ]
- >>191
OverlappingInstances拡張がどのようなものか見てきました www.haskell.org/haskellwiki/GHC/AdvancedOverlap なかなか難しいですね、がんばって解読してみます ありがとうございました
- 198 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 21:08:33.18 ]
- 2つのモナドm1,m2の合成の自然な定義はあるのでしょうか?
直積?
- 199 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 23:01:33.65 ]
- さいなら。
- 200 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 23:59:10.31 ]
- 野田改造内閣に早速疑惑浮上
@aritayoshifu 有田芳生 捜査当局が内偵を続けている農水疑惑。詳細な怪文書まで出回っている。3億円の 行方はどこに? @minorucchu ジャーナリスト 田中稔 野田改造内閣を揺るがす、農水省3億円スキャンダルの怪文書。二人の議員名が浮上。 34分前 webから https://twitter.com/#!/minorucchu/status/157687110562881537 鹿野と筒井らしい 自公は問責も視野に調査開始だって
- 201 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 09:49:15.55 ]
- あれだけ他パラダイムをdisりまくったその口で
ハスケルはメタパラダイム言語だとか ふざけんなってのw
- 202 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 09:54:29.57 ]
- メタパラダイム言語って言葉の意味が分からないからなんとも言えない
- 203 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 10:24:18.99 ]
- メタって便利な言葉だよな
- 204 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 10:50:14.56 ]
- 「そろそろパラダイムについて一言言っておくか」ってことだろ
バスに乗り遅れた奴が使う言葉
- 205 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 10:54:46.75 ]
- マルチパラダイムと言いたかったのではないかと推測してみる
- 206 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 11:02:45.90 ]
- CでOOPができるしJavaでFPができるだろ
HaskellでOOPもできるんだよ ただしそのパラダイムの為に設計された言語ではないので 可読性落ちたりするから推奨されないというだけの話
- 207 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 11:04:31.60 ]
- ぷでゆきさんは1年ぐらい前にマルチパラダイムは幻想とか言ってからそれはないだろうな
- 208 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 12:09:55.38 ]
- 人のいうことを鵜呑みにしていいのかい?
- 209 名前:デフォルトの名無しさん [2012/01/14(土) 16:46:37.25 ]
-
反日ネット工作員 朝日新聞社→社員約300人 民主党とその取り巻きの資金が入った反日工作会社→数社約450人 朝日新聞の社員は捕まった49歳の編集者を含め新聞記事を書く合間に2chを荒らしている程度とみられているが 民主党が用意した反日工作会社はほぼ24時間体制で工作を行っている 工作範囲は民主党が予め工作費を流している2ch、ニコニコ動画を中心にyoutube、個人のブログなどである。
- 210 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 20:55:07.12 ]
- 政治的なアナザー・ワールドの人がHaskellerってありえないよね?
- 211 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 20:59:45.86 ]
- あの人、言うことコロコロかわるから。
OOは複雑すぎてわからないと言ってみたかと思ったら OOはしょせんこの程度のモデルに過ぎないからと言ってみたり 全く参照透明ではないw
- 212 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 21:44:45.71 ]
- >>206
推奨されないと言われても 禁止されているようなものだと思うか、禁止されていないと思うかで全く違う 推奨なんて中途半端なことをするから解釈がコロコロ変わる
- 213 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 00:17:59.85 ]
- >>211
発言を時間の関数と思えば参照透明。 これがHaskell流だ
- 214 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 08:56:17.00 ]
- >>201
「メタパラダイム言語」という言葉は、このスレが初出です。 「Haskellはメタパラダイム」というtweetの話をしているんですよね? Haskellは○○ togetter.com/li/241437 >Haskellはメタパラダイム tanakh 2012/01/13 17:38:41 もともとtanakhは「モナドはメタパラダイム」と主張しているので モナドを取り込んだHaskellもメタパラダイムと考えたのでしょう。 モナドが様々なパラダイムを実現できると主張する事と 有用でないパラダイムをディスる事は別に矛盾してないのでは?
- 215 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 12:31:26.23 ]
- 民主党が惨敗した参院選直前の政党支持率(2010年7月11日投票)
FNN 2010年7月4日 民主党 29.9% 自民党 16.3% ttp://sankei.jp.msn.com/politics/policy/100706/plc1007060530003-n1.htm ttp://www.fnn-news.com/archives/yoron/inquiry100705.html マスコミに、ダマされるなよ。
- 216 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:30:28.52 ]
- VIPからきました
何から始めるんでしょうか
- 217 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:44:29.28 ]
- テンプレ読むところからだろ。
- 218 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:45:25.41 ]
- そりゃもっともで
読んできます
- 219 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:51:53.71 ]
- なんでvipから来た奴ってわざわざ名乗るんだろうな
- 220 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 14:54:38.77 ]
- >>219
vipperだから
- 221 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 16:57:17.93 ]
- >>214
有用でないという証明がまるでできてないのに? 根拠らしきものは、難しくて理解できない、って発言ぐらいだけど…
- 222 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 17:00:31.21 ]
- それ以前に逐次実行モデルっぽいことができるだけでメタパラダイムとかw
その理屈だとチューリング完全な言語はみなメタパラダイムになるぞww
- 223 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 17:30:52.32 ]
- 「モナドは値レベルでメタプログラミングをするための手段」
っていうのは適切な表現だと思うけどなぁ 継続や動的スコープが欲しくなったら処理系に手を入れずともモナドで実現できるわけだし モナド変換子でそれらを組み合わせることもできる
- 224 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 17:54:23.52 ]
- >>221
他パラダイムが有用でないという判断がでたらめでも 「Haskellはメタパラダイム」は別に矛盾しません。 >>222 「メタパラダイム言語」の次は「逐次実行モデルっぽいことができるだけで」ですか。 ソースを示さずに捏造を繰り返している事を自覚してください。 tanakhがモナドで逐次実行モデル以外も実装できると主張しているソース tanakh.jp/pub/unisys-tech-2011-11-09.html#37 >モナドから見た命令型 >計算コンテクストの1つに過ぎない >その他: > ・論理型 > ・オブジェクト指向 > ・アスペクト, etc… >これらはモナドのコンテクストとして実装できる
- 225 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 18:53:37.75 ]
- チューリング完全な言語なら
どんなパラダイムだって実装できる
- 226 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 20:41:23.81 ]
- >>225
モナドを使えば後付けのパラダイムを言語に取りこめるという話でしょう。 Lispのマクロでもできますが、チューリング完全だけでは無理です。
- 227 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 21:05:04.33 ]
- パラダイムを言語に取り込めるとやらの定義は?
つーかモナドなんて手続き型言語でも簡単に実装できるが、Haskellを特別視する理由は? まさかdo構文(ただの構文糖)の有無を特別視してるのか?
- 228 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 21:26:47.75 ]
- bindはクロージャが無いと無理だし、静的型付けの言語でreturnを多相にするなら型クラスが居るよね
- 229 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 21:34:13.26 ]
- 俺は >>226 ではないが、言いたいことはわからんでもない。
要は抽象化の問題だろ。 手続型がどうとか言う話じゃない。 あるパラダイムをモナドの中に押し込めて隠すことが出来るという意味で「取りこめる」と言ってるんだと思う。 LISP もマクロで覆ってしまえばプログラマはそのライブラリを愚直に使うだけのこと。 抽象度がイマイチな言語でも、もちろん様々なパラダイムに基いたプログラムは書けるけれど、 それはプログラマが意識しながらプログラムを書くということであって、 言語の中に (ライブラリ等として) パラダイムを取込むとは言えないと思う。 ってことだと理解した。
- 230 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:08:51.73 ]
- モナドは全部同じだろ。
具体的なインスタンスを比較しない限り同じに見えるはずだ。それが抽象化だ。 異なるパラダイムを取り込めるのではなく、なぜか同じだから取り込める。
- 231 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:15:50.51 ]
- >>228
静的型付けの言語では、型クラスがないとreturnを多相にできないの?
- 232 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:24:00.26 ]
- 暗黙の引数を明示的に与えるようにすれば多相にできるよ
でもそれは、Cでも構造体と関数ポインタ使えばOOPできるよ、というのと同じような話なわけ モナドをヘビーに使い込むようなスタイルのプログラミングをするなら、Haskellを特別視する理由になるよね
- 233 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:30:19.48 ]
- >>232
型クラスが存在しない静的型付き言語において、 暗黙の引数を明示的に与えるようにする以外の方法では、returnを多相にできないの?
- 234 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:30:46.35 ]
- 抽象化をしたいなら特別視なんてやめたほうがいいと思う
- 235 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:35:55.76 ]
- >>233
できないんじゃない? 戻り値の型の情報はどこからとってくるの?
- 236 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:47:24.22 ]
- 型というか、型によって選択された実装をどこからとってくるか、だった。ごめんね
多相というのは、つまりoverloading(アドホック多相)のことね
- 237 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 22:54:06.87 ]
- つまりad-hoc polymorphismを実現する手段として型クラスは必要条件ではないと思った
型クラスはad-hoc polymorphismと型推論を両立するためにless ad-hocにする手段で 型推論を捨てるなりすれば型クラスはなくても多相はできるでしょうと
- 238 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 23:29:31.36 ]
- モナドであることの利点と型クラスの利点を切り分けられていない人が多い。
モナド則の有難味を感じるのはIOくらい。
- 239 名前:デフォルトの名無しさん [2012/01/15(日) 23:54:42.51 ]
- 民主党には朝鮮人など外国人のなりすまし、スパイが約90名在籍している
野田内閣は過半数が帰化人 野田はどうだろうか 韓国人から賄賂を貰い、韓国人の集いに出席している野田は 首になった蓮○はシャブで逮捕歴のある人間と仲が良いな。蓮○自身はやってんの? い-6-1 テレビが言えない民主党のスポンサー=韓国北朝鮮 あとはもうわかるよな
- 240 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 07:38:13.19 ]
- wxHaskell でバイト配列のポインタ (Ptr Word8) から Image 型を作る方法はありませんか
- 241 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 07:41:22.96 ]
- >>240
すいません、解決しました Graphics.UI.WXCore.Image や Graphics.UI.WXCore.Draw 辺りばかり見ていましたが、 Graphics.UI.WXCore.WxcClassesAL に望むものがありました
- 242 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 08:39:44.77 ]
- >>232
> Cでも構造体と関数ポインタ使えばOOPできるよ、というのと同じような話なわけ Haskellでもモナドと型クラス使えばOOPできるよ、というのと同じような話なわけだね OOPを簡潔に書けないからね
- 243 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 08:43:19.87 ]
- OOPと同じ手段は使えないけどOOPで実現したいことは簡潔に書ける(ドヤ
- 244 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 09:33:47.83 ]
- >>242
今、他の言語がtype classみたいな機能を導入検討中ですぜ?
- 245 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 12:01:33.44 ]
- >>232
>モナドをヘビーに使い込むようなスタイルのプログラミングをするなら、Haskellを特別視する理由になるよね 「モナド」と「Haskell」を他の組み合わせにすればどんな言語についても言えることだろ。モナド(Haskell)を特別視する理由に全くなってない
- 246 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 12:39:05.61 ]
- >>232
IOモナドをヘビーに使い込むようなスタイルのプログラミングをするなら、正格評価をする言語を特別視する理由になるよね こういうことですか?
- 247 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 17:11:15.74 ]
- 多相=アドホック多相だと思ってるハスケル脳は
多相=サブタイプ多相だと思ってるOO脳と同類だな
- 248 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 17:29:56.98 ]
- Haskellはadhoc多相だけではないので念の為。
- 249 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 19:02:10.12 ]
- 手続き型言語でも簡単に実装できるが、Haskellを特別視する理由、に対する返答なんだからそれはおかしいんでは
モナドの利点は>>223 >>224 >>226など(>>226はモナドというより、後付けでインスタンスを追加できる型クラスの利点?)
- 250 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 19:08:13.39 ]
- モナドなんか使わなくたって処理系実装すればいいだろ
他パラダイムを実装する枠組みがモナドである必然性はゼロ。 参照透明である必然性もゼロ。型クラスを使う必然性もゼロ。
- 251 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 19:12:22.89 ]
- 材木を見たら釘を打ちたくなる症候群のハスケル厨が
モナドを使って他パラダイムのエミュレートができると気付いただけ 他パラダイムのエミュレートにモナドが不可欠ではないし モナドが他パラダイムにベストな解法であるわけでもない 単に、モナドで表現すること「も」できるね、ということでしかない
- 252 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 22:44:00.17 ]
- where や let 内で定義する関数には INLINE プラグマは付けられない?
- 253 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 23:07:15.68 ]
- モナドは表示的意味論の種々の技法から抽出されたものだから、
計算に本質的なことはモナド的な見方が出来てしまうのですよ。 圏論バカ的な意味合いで。整理するための優れた枠組みなわけです。
- 254 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 00:24:32.62 ]
- >>253
お前は形容詞バカだ 本質的な、モナド的な、優れたアレがあると言うが名詞が出てこない
- 255 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 00:24:57.94 ]
- 何の説明にもなってないな
- 256 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 00:37:55.98 ]
- プラグマを処理するときにモジュールレベルよか下のスコープ見てくれるとは到底思えない
- 257 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 07:24:50.58 ]
- >>256
モジュールレベルというのはどこまでの範囲でしょうか? {-# LANGUAGE *** #-} module Homu where ここまでですか? それとも、トップレベルの関数定義に対するプラグマも含まれますか?
- 258 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 12:27:54.23 ]
- モナドは数学に基づくからその辺の言語とは格が違う
1+1=2が否定できないのと同じこと
- 259 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 12:38:09.99 ]
- 唯一のコンストラクタを持つ型の直和が二つのコンストラクタを持つ型と同型であることと同じかなるほどなるほど
- 260 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 16:14:17.74 ]
- 数学に基かないプログラム構成要素なんて存在する?
- 261 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 17:08:53.02 ]
- 孤高なるや否や
- 262 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 17:34:33.19 ]
- 彼にとっては圏論のみが数学なのだろう。
- 263 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 17:36:00.52 ]
- モナドは圏論に基づくからその辺の言語とは格が違う
f.(g.h)=(f.g).hが否定できないのと同じこと
- 264 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 17:42:57.57 ]
- で、モナドって言語なの?
- 265 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 17:47:59.53 ]
- 哲学用語
- 266 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 18:37:01.81 ]
- >>252
付けられるよ
- 267 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 19:06:57.29 ]
- >>266
初め付けられなかったから訊いたみたんだが、 今再挑戦したらあっさりできた どうもレイアウトルールに従ってなかったみたいだ where {-# INLINE f #-} f x = ・・・ なんてのはできないのね where {-# INLINE f #-} f x = ・・・ これならできた ちょっと不格好になるが仕方がない 助かった、ありがと
- 268 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 01:16:44.99 ]
-
東京にある6つのキー局の内、製作から財務まで一貫して朝鮮人が行ってるテレビ局が1つ 中国共産党から毎年大量の反日工作費が流れているテレビ局が2つ もろに北朝鮮と繋がっているテレビ局が1つ 年寄はまだまだテレビという外国人に騙され続ける
- 269 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 22:41:54.05 ]
- Float型やDouble型などの、負方向の最大値(無限大ではない)や、
最もゼロに近い正の数などを得る方法は何かないでしょうか
- 270 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 23:40:17.17 ]
- >>269
Hugs> 1/0::Float inf Hugs> -1/0::Float -inf Hugs> 1/(1/0)::Float 0.0 Hugs> -1/(1/0)::Float -0.0
- 271 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 23:44:42.25 ]
- import Numeric.IEEE
-maxFinite succIEEE 0
- 272 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 23:45:01.08 ]
- >>270
>>269 でも言いましたが、無限大ではないです 「計算が可能な」負方向の最大値、正方向の最大値です あと、最もゼロに近い正の数です
- 273 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 23:51:23.95 ]
- クラッシュするんじゃ
- 274 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 00:02:03.11 ]
- >>271
ieee754 パッケージを使うのでしょうか インストールして、ghci 上で使ってみましたが、 m というモジュールが見つからないというエラーが発生します 今までの経験から察するに、MinGW 用の libm.dll という dll が必要ではないかと思いますが、合ってますか? gnuwin32.sourceforge.net/packages/libm.htm ここから辿れるページで探しているのですが、なかなか見つかりません 今日はもう遅いので後日探してみます
- 275 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 00:10:16.65 ]
- >>271
ごめんなさい、環境を書き忘れていました Windows7 GHC 7.2.2
- 276 名前:デフォルトの名無しさん [2012/01/20(金) 16:12:27.09 ]
- 「ふつうのHaskellプログラミング」ってどうですか?評判がいいですが、結構古いので
ほかのにしようかまよってます。
- 277 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 16:58:44.68 ]
- >>276
一度手続き型言語を修得した人向けで、読後、読み返しにくい と言うか、今はプログラミングHaskell一択だろう
- 278 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:00:08.41 ]
- ちょっとでも英語読めるならlearn you(ryが初心者向けとしてはベスト
- 279 名前:デフォルトの名無しさん [2012/01/20(金) 17:17:06.71 ]
- マセマティカのように
log 6 - log 2 を 誤差なしにlog 3 ときっちり答えてくれるようなライブラリありませんか?
- 280 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 19:56:42.13 ]
- >>279
logfloat パッケージというものがあるみたいだ 使ったことがないから(インストールする気もない)分からんが、 LogFloat というデータ型で log x を表現するっぽいから、 もしかしたら LogFloat 6 - LogFloat 2 = LogFloat 3 となるかも知れん
- 281 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 19:59:20.97 ]
- >>280
すまん、紛らわしい間違いをしたな もしかしたら、logFloat 6 - logFloat 2 == logFloat 3 となるかも知れん
- 282 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 01:24:19.13 ]
- Learn You a Haskell はもうすぐ翻訳版が出るんだっけ?
まあ英語ならただで読めるんだけど
- 283 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 06:03:22.00 ]
- >>276
「ふつうの」は、実際に役に立つプログラムを書きながら Haskell を学ぶという 立場で、その方針はよいと思う。誤植も少ない。古いことは気にしなくていいと 思う。 ただし文法の説明はかなりはしょってあるし、網羅的でもない。モナドの説明は (まちがってはいないが)ごく簡単で、あれじゃわからないだろうと思う。 Wiki の作りかたの話は、省略した部分が多すぎて、本を読んだだけではさっぱり わからなかった。
- 284 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 09:54:12.35 ]
- Haskellerがtailコマンドを実装すると
ファイルを全部読み込むクソコードを書くと 教えてくれる良書 > ふつける
- 285 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 13:53:02.40 ]
- 【プログラミング部】 PHPが100倍速で動くようになったぞー
awabi.2ch.net/test/read.cgi/poverty/1327050821/
- 286 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 11:23:48.95 ]
- >>284
> ファイルを全部読み込むクソコードを書く Haskellが綺麗に書けるって言ってるときは 大抵こんなのばかりだな
- 287 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 13:46:53.61 ]
- 数値リテラルの範囲をコンパイル時に指定できるGHC拡張はないでしょうか
たとえば newtype NumPadKey = NPKey Integer -- 0 から 9 に限定したい let a = NPKey 8 -- ok b = NPKey 21 -- コンパイルエラー こういう事をしたい場合は、 0 から 9 までの 10 個の数値が入った NumPadKey 型の値を返す 10 個の関数(num0 :: NumKeyPad など)を作るなどするしかないでしょうか
- 288 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 14:19:09.91 ]
- TemplateHaskellというGHC拡張を使えばできるよ!
- 289 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 14:27:24.57 ]
- >>286
コード上は全部読み込んでるように見えて、遅延評価で必要な分しか読み込まれないわけですが・・・
- 290 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 14:29:48.48 ]
- >>289
headはそれでいけるけどtailだと全部読むよ
- 291 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 14:36:41.48 ]
- >>290
tail も弱頭部正規形の形までにしか評価されないんじゃないのか?
|

|