関数型プログラミング言語Haskell Part9
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/05/17(土) 16:41:29http://www.haskell.org/
日本語サイト
http://www.sampou.org/cgi-bin/haskell.cgi
http://www.shido.info/hs/
過去ログ
関数型プログラミング言語Haskell
Part1 http://pc.2ch.net/tech/kako/996/996131288.html
Part2 http://pc2.2ch.net/test/read.cgi/tech/1013846140/
Part3 http://pc8.2ch.net/test/read.cgi/tech/1076418993/
Part4 http://pc8.2ch.net/test/read.cgi/tech/1140717775/
Part5 http://pc8.2ch.net/test/read.cgi/tech/1149263630/
Part6 http://pc11.2ch.net/test/read.cgi/tech/1162902266/
Part7 http://pc11.2ch.net/test/read.cgi/tech/1174211797/
Part8 http://pc11.2ch.net/test/read.cgi/tech/1193743693/
・2chの仕様により、行頭の半角スペースは表示されません。
コードをインデントしたいときは、代わりに または全角スペースを使うことができます。
0268デフォルトの名無しさん
2008/06/24(火) 08:32:09そういうつもりで「正格」という言葉を使った
0269初心者修業中
2008/06/24(火) 09:53:02どうしても括弧が増えて見ぐさい気が…。
こんなのがあったら便利だと思うんですけど、
↓
infixr 1 $.
($.)=(.)
こんな感じ
↓
sigma = tail $. scanl (+) 0
標準ではなさそうなんですが、
やっぱ、問題ありですかね?
0270デフォルトの名無しさん
2008/06/24(火) 09:55:220271初心者修業中
2008/06/24(火) 10:13:14関数の優先順位はどの演算子よりも上ですね。
これで問題ないのか
↓
sigma = tail . scanl (+) 0
>>270
レスありがとうございます。
早く慣れたいです。
まだ、頭で考えないとよくわからない。
(考えてもわからない時ありw)
0272デフォルトの名無しさん
2008/06/24(火) 11:35:10「厳密には」も何も最初っからそう
0273デフォルトの名無しさん
2008/06/24(火) 12:56:24> 覚えていないといけない
覚えてなくてもプログラム書くのにはなにも困らない。
等価性とか考えだすと全部正格のほうが楽かもしれんけど。
0274デフォルトの名無しさん
2008/06/24(火) 18:49:23書くときは良くても読むとき困る
例えば>>260のコードが空リストに対しても正しく動作するかどうか確かめるのに、
いちいちPreludeの仕様を読まないといけない
zipみたいに明確な定義のある関数ならまだいいけど、
例えばhPutStrLn undefined ""の値が
1. ⊥
2. 実行時にエラーになるアクション
3. ()を返すアクション
のどれになるかは仕様では決まっていないはずで、ちょっと厄介
0275デフォルトの名無しさん
2008/06/25(水) 15:42:16その辺は想像で読めば十分じゃない?
zip xs (tail xs) とあって、
コードを書いたのが信頼できる人なら、
zip は第二引数について非正格なのだろうな、とか。
hPutStr undefined "" も、
hPutStr _ "" = return () と定義されては無いだろうし、
undefined が正しいハンドルじゃないからと
hPutStr が独自にエラーを出すというのも、
先に undefined が評価されるから有り得ないだろう、とか。
hPutStr (error "1") (error "2") にしても error "1" だろう、とか。
0276デフォルトの名無しさん
2008/06/25(水) 15:49:330277デフォルトの名無しさん
2008/06/25(水) 17:38:53main「ちょっと undefined に "" 出力してこい」
hPutStrLn「へい」
...数十ns後
hPutStrLn「やってきやした」
main「おまwwww改行どうしたwwwwwwww」
>>276
正直くだらないネタ以外はここではなく他の所に書く。
0278デフォルトの名無しさん
2008/06/25(水) 18:27:02HaskellでGPGPU関連の話題ってありませんか?
0279274
2008/06/25(水) 20:23:02>>275
>コードを書いたのが信頼できる人なら、
勉強のためにコードを読んでるならいいけど、
レビューとかデバッグとかしてるならそうはいかないだろ
>hPutStr が独自にエラーを出すというのも、
誤解させたかもしれんが、HugsもGHCも2.の振る舞いをする
実行した時点でundefinedが評価されてエラー発生ね
でも、例えば最適化のために
hPutStr h s = seq h $ ...
みたいな実装になってたら1.だし、
hPutStr h s = mapM_ (hPutChar h) s
みたいな定義が考えられる以上3.もあり得なくはない
結局、非正格がデフォルトなせいで関数の仕様に書かなければいけない事項が多いのが問題
それを不用意にうやむやにすると関数の振る舞いが実装に依存してしまう
それほど頻繁に問題になることではないけど、たまに面倒
0280275
2008/06/25(水) 21:28:51> レビューとかデバッグとかしてるならそうはいかないだろ
うん。
> hPutStr h s = mapM_ (hPutChar h) s
> みたいな定義が考えられる以上3.もあり得なくはない
なるほど。
> それほど頻繁に問題になることではないけど、たまに面倒
そういうこったね。
0281275
2008/06/25(水) 21:32:14> 実行した時点でundefinedが評価されてエラー発生ね
そういうつもりでしたか。
ちなみにそれだと1.はどういうつもりだったのですか?
0282デフォルトの名無しさん
2008/06/25(水) 21:49:44hPutStr undefined "" `seq` 0
を評価してエラーが発生すれば1.だよな
実際試したらHugsでもGHCiでもエラーは発生しなかった
0284デフォルトの名無しさん
2008/06/26(木) 21:37:05比較的新しい技法についてわかりやすく書かれた文書はどの辺
でしょうか。
0285デフォルトの名無しさん
2008/06/26(木) 23:11:250286デフォルトの名無しさん
2008/06/26(木) 23:16:360287デフォルトの名無しさん
2008/06/26(木) 23:28:26プログラミング的にはこれといってメリットないよ。
0288デフォルトの名無しさん
2008/06/27(金) 00:23:45http://www.haskell.org/haskellwiki/Arrow
0289デフォルトの名無しさん
2008/06/28(土) 00:05:34めっちゃべんりですっっっっs
0290デフォルトの名無しさん
2008/06/28(土) 01:15:420291デフォルトの名無しさん
2008/06/28(土) 01:22:400292デフォルトの名無しさん
2008/06/28(土) 10:42:430293デフォルトの名無しさん
2008/06/28(土) 10:48:09eclipseは糞だし。
0294デフォルトの名無しさん
2008/06/28(土) 11:10:100295デフォルトの名無しさん
2008/06/28(土) 11:45:120296デフォルトの名無しさん
2008/06/28(土) 12:32:37自分もEclipseはちょっと嫌ですねぇ。
0297デフォルトの名無しさん
2008/06/28(土) 12:44:03$ hugs -Evim
0298デフォルトの名無しさん
2008/06/28(土) 16:06:10結合性宣言があったりするので、
トークン読んだ時点では構文木を作れないような気がするんだけど。
何かの資料とか、HugsやGHCでの実現方法のソースとかあったら教えてくだしあ
0299デフォルトの名無しさん
2008/06/28(土) 16:38:24GHCはとりあえず全部左結合として解析(parser/Parse.y)して、
後のrenameのパスで結合性宣言をもとに組み立て直してる(rename/RnExpr.lhs)
0300デフォルトの名無しさん
2008/06/28(土) 16:57:55俺もvimだわ
なんか文法と相性良さげだし
0301デフォルトの名無しさん
2008/06/28(土) 17:16:47そういう手があったか。いや、全然関係ないパーサを先日作ってたんだが。
パス(1パスコンパイラとか2パスコンパイラとかのパス)にこだわっていては
非富豪的かねぇ。
0302デフォルトの名無しさん
2008/06/28(土) 18:10:34とりあえずリンクトリストにしといてから、
あとでパーズしなおすって事。
0303デフォルトの名無しさん
2008/06/28(土) 18:39:000304デフォルトの名無しさん
2008/06/28(土) 20:10:12どうなってんだ糞
0305デフォルトの名無しさん
2008/06/28(土) 20:19:06グラフの研究で路線データ(や道路のデータなど)が使いたいのですが、
そういうデータを手に入れるにはどうすればいいですか?
0306デフォルトの名無しさん
2008/06/28(土) 21:47:48質問です
Haskellと関係ありますか?
0308デフォルトの名無しさん
2008/06/29(日) 08:23:280309デフォルトの名無しさん
2008/07/01(火) 18:44:49http://www.amazon.co.jp/Real-World-Haskell-Bryan-OSullivan/dp/0596514980/
> This easy-to-use, fast-moving tutorial introduces you to functional
> programming with Haskell. Learn how to use Haskell in a variety of
> practical ways, whether it's for short, script-like programs or large
> and demanding applications.
0310デフォルトの名無しさん
2008/07/02(水) 02:44:41http://book.realworldhaskell.org/beta/
表紙が決まったんだね。ヘラクレスオオカブト?
0311デフォルトの名無しさん
2008/07/02(水) 03:40:510312デフォルトの名無しさん
2008/07/02(水) 22:40:44そう思っていた時期が僕にもありました
0313デフォルトの名無しさん
2008/07/02(水) 23:40:42ちょおまw
0314デフォルトの名無しさん
2008/07/04(金) 04:55:50全30章中残りは3章。
20. The foreign function interface
27. Profiling and tuning for performance
30. A concurrent RESTful web application
書きにくそうなのが残った感じw
0315デフォルトの名無しさん
2008/07/09(水) 08:14:010316デフォルトの名無しさん
2008/07/09(水) 12:30:550317デフォルトの名無しさん
2008/07/09(水) 22:36:35らむだけいさんってなんですか?
0318デフォルトの名無しさん
2008/07/09(水) 23:38:520319デフォルトの名無しさん
2008/07/09(水) 23:44:400320デフォルトの名無しさん
2008/07/10(木) 05:32:310321デフォルトの名無しさん
2008/07/10(木) 16:58:13032236 ◆K0BqlCB3.k
2008/07/11(金) 01:58:31とっとと仕事しろやボケ
0323デフォルトの名無しさん
2008/07/11(金) 09:38:420324デフォルトの名無しさん
2008/07/11(金) 10:04:210325デフォルトの名無しさん
2008/07/11(金) 16:03:12なにエラソーに言ってんだよ。しょーもない評論家なくせして。
0326デフォルトの名無しさん
2008/07/19(土) 00:59:560327デフォルトの名無しさん
2008/07/20(日) 23:31:18'aとか''aとか出てきますが
どのような意味なのでしょうか
0328デフォルトの名無しさん
2008/07/21(月) 01:16:27具体的なコード書いてみて
0329デフォルトの名無しさん
2008/07/21(月) 15:09:50a'とかa''じゃなくて?
ちなみにそれならただの変数名だよ。
0330デフォルトの名無しさん
2008/07/21(月) 15:13:03見直したらそうでした
許してくださいw
ごめんなさい
0331デフォルトの名無しさん
2008/07/21(月) 23:32:45この\_ってC++のtemplate <t>みたいなもんですか?
0332デフォルトの名無しさん
2008/07/21(月) 23:38:070333デフォルトの名無しさん
2008/07/21(月) 23:43:54じゃあ何なのでしょうか?
0334デフォルトの名無しさん
2008/07/21(月) 23:55:35ていうかなんか一冊入門書買うことをおすすめする
0335デフォルトの名無しさん
2008/07/22(火) 01:00:320336デフォルトの名無しさん
2008/07/22(火) 01:40:52Haskellでぐぐっていくつか読めばわかるぐらいのことで
これって型でしょ
違います
じゃあなんなんだよ
つ やさしいHaskell入門
0337デフォルトの名無しさん
2008/07/26(土) 19:44:300338デフォルトの名無しさん
2008/07/26(土) 20:22:33怖くね?
0339デフォルトの名無しさん
2008/07/27(日) 01:34:240340デフォルトの名無しさん
2008/07/27(日) 02:01:40向こうで完結して。
034136 ◆K0BqlCB3.k
2008/07/27(日) 02:23:520342デフォルトの名無しさん
2008/07/27(日) 10:47:30他のスレを荒らすならここを荒らしますよ?
0343デフォルトの名無しさん
2008/07/27(日) 12:10:53ほー、やってみてください。本当にできるのですか?
0344デフォルトの名無しさん
2008/07/27(日) 13:11:28A 「この夏、何かおもしろいことでもしようかな。」
B 「ならスレ荒らししてみれば?」
A 「簡単にできるのですか?」
B 「こうやれば邯鄲」
A 「ネ申キター!d!マジ面白いね。他スレ荒らしてクルーwktk」
0345デフォルトの名無しさん
2008/08/06(水) 05:48:39ttp://ascii.jp/elem/000/000/157/157495/
0346デフォルトの名無しさん
2008/08/06(水) 06:00:24面白かった。サンクス。
0347デフォルトの名無しさん
2008/08/06(水) 19:32:590348デフォルトの名無しさん
2008/08/06(水) 20:30:02nobsunだね。
0349デフォルトの名無しさん
2008/08/06(水) 20:47:230350デフォルトの名無しさん
2008/08/06(水) 22:06:03山下さんなんかがいるってことは特殊な会社?
Haskellの開発コンサルということだけど、一般企業の業務システム
なんかを対象にしてるのかな。金融系とか合ってそうだけど、
普通の土方システムには豚に真珠かな。
0351デフォルトの名無しさん
2008/08/06(水) 22:30:36看板役みたいなものだよ。
よくあること。
SRAでも青木淳みたいなのを雇っているけど、青木は普通の仕事はしていないね。
金にならないことを自由にやっているって感じ。
ちなみに、青木の部下はかわいい女の子限定。
0352デフォルトの名無しさん
2008/08/07(木) 05:56:030353デフォルトの名無しさん
2008/08/07(木) 07:30:34青木はSRAやめたよ
0354デフォルトの名無しさん
2008/08/07(木) 08:39:56会社の事業だけ見ると、Haskell関係なさそうだね。Higher Order Programmingってなんだ?造語か?
もっと記事をよく見てみる。
0355デフォルトの名無しさん
2008/08/07(木) 08:55:02ちょ、おまwww
0356デフォルトの名無しさん
2008/08/07(木) 09:12:130357デフォルトの名無しさん
2008/08/07(木) 09:45:570358デフォルトの名無しさん
2008/08/07(木) 12:53:37あそこって、gaucheかんけいなひとがおおそうなんだけど。
0359デフォルトの名無しさん
2008/08/07(木) 12:58:00そりゃそうだ。普通のJaverやC++マが金を取ってこなきゃ、
みんなgaucheとかに走ったら誰が食い扶持を稼ぐんだって。
0360デフォルトの名無しさん
2008/08/07(木) 13:19:400361デフォルトの名無しさん
2008/08/07(木) 13:46:180362デフォルトの名無しさん
2008/08/07(木) 13:54:110363デフォルトの名無しさん
2008/08/07(木) 16:12:52小野伸二を思い出したんだけど。nobsunはやっぱり天才なんですかね。
0364デフォルトの名無しさん
2008/08/07(木) 19:03:09ルネッサ〜ンス!
0365デフォルトの名無しさん
2008/08/07(木) 19:05:14最近テレビの前で普通にいじめる先輩芸人が多くないか?
0366デフォルトの名無しさん
2008/08/07(木) 19:55:170367デフォルトの名無しさん
2008/08/07(木) 20:41:53にある最終章、「A concurrent RESTful web application」が読みたいんだけど、
これは本買わないとダメってこと?
■ このスレッドは過去ログ倉庫に格納されています