[過去ログ]
関数型プログラミング言語Haskell Part4 (1001レス)
関数型プログラミング言語Haskell Part4 http://echo.5ch.net/test/read.cgi/tech/1140717775/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
1: デフォルトの名無しさん [] 2006/02/24(金) 03:02:55 haskell.org http://www.haskell.org/ 日本語サイト http://www.sampou.org/cgi-bin/haskell.cgi http://www.geocities.jp/shido_takafumi/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/ 関連スレは>>2 関連書籍は>>3 http://echo.5ch.net/test/read.cgi/tech/1140717775/1
921: デフォルトの名無しさん [sage] 2006/05/23(火) 19:18:58 > 将来他のモナドと組み合せて使うならモナドで書いておいた方が良い これ読んで思ったのだけど,例えばStateなら, nextState :: (MonadState RegisterState m) => Code -> m () みたいに,より一般的に定義するって手があるよね これなら nextState :: Code -> State RegisterState () nextState :: (Monad m) => Code -> StateT RegisterState m () この両方の型が付けられる (←表現あってる?)。 ただ,読みにくくなる(と僕は思う)し,ムキになって一般化するよりも, 使いどころは考えないとな,というのがプログラマの印象。 http://echo.5ch.net/test/read.cgi/tech/1140717775/921
922: デフォルトの名無しさん [sage] 2006/05/23(火) 19:21:49 あ,MonadStateは http://www.haskell.org/ghc/docs/latest/html/libraries/mtl/Control-Monad-State.html こっちみてください。でも既にfundepsとか使ってあって,ちょっとわかりにくいか… http://echo.5ch.net/test/read.cgi/tech/1140717775/922
923: デフォルトの名無しさん [sage] 2006/05/23(火) 20:03:15 >>920 >「レジスタの値以外に内部状態を持たないなら」という前提がよくわからない。 ごめん。余り意味のない前提だったから忘れてくれ。 >どちらにせよStateモナドはかなり嬉しいと思う。 >(...) >とやったほうが明示的に状態を持って回らなくて楽じゃん。 それが嬉しいのはRegisterStateを変化させるコードがnextStateの他にあって、そこから nextStateを呼び出したい場合だけじゃないか? nextStateはレジスタの状態を1クロック進めるVMの本体であって、 他にレジスタをいじるコードはほとんどないと仮定したんだがどうだろうか。 仮にnextStateをStateモナドから呼び出したいことがあったとしても、 monadicNextState :: Code -> State RegisterState () monadicNextState code = modify (nextState code) みたいに定義しておけばいいので、nextState自体をStateモナドで書く理由にはならないと思う。 …しかし、nextStateの実装にStateモナドを使って嬉しいことは普通にあるような気がしてきた。 複数のレジスタ操作アクションを組み合わせてnextStateを書く場合とか。 http://echo.5ch.net/test/read.cgi/tech/1140717775/923
924: デフォルトの名無しさん [sage] 2006/05/23(火) 20:59:10 要するに,nextStateにどんな型を持たせるか,というのは, nextStateを使う側がどんな風に呼び出しているか,って事でそ? Code -> State RegisterState () も Code -> RegisterState -> RegisterStateも同型な訳で, どっちでも使いやすいほうでいい.>>923でも良いし,それはここでは別問題な気がする. ここでは「VMを作るけど実装のうえで状態の扱いをどうするか?」という質問なので 「それならStateモナドがいいんじゃね?」という答えはストレートで合ってると思う. 処理の全体を表す関数がどんな型を持っているかは,わりとどうでもいいと思う.なんでもいいけど http://echo.5ch.net/test/read.cgi/tech/1140717775/924
925: デフォルトの名無しさん [sage] 2006/05/23(火) 21:05:51 s->(a,s)もState s aも同型だろうよ http://echo.5ch.net/test/read.cgi/tech/1140717775/925
926: デフォルトの名無しさん [sage] 2006/05/23(火) 21:27:39 >処理の全体を表す関数がどんな型を持っているかは,わりとどうでもいいと思う. これには同意するけど、nextStateはいま問題になっている「処理の全体を表す関数」じゃない。 >>914は「処理の全体を表す関数」をストリームで書くかStateモナドで書くかという問題を提起していて、 それに対して>>917で、nextStateを用意して、それを使って「処理の全体を表す関数」を書いたらいいんじゃないか、と提案した。 この方針が採用されたとして、nextStateの実装にStateモナドを使うかどうかは、また別の話だろ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/926
927: デフォルトの名無しさん [sage] 2006/05/23(火) 21:58:09 もういいよ http://echo.5ch.net/test/read.cgi/tech/1140717775/927
928: デフォルトの名無しさん [sage] 2006/05/23(火) 23:02:50 >nextStateの実装にStateモナドを使うかどうかは、また別の話だろ。 その「別の話」が聞きたかったんじゃないのか. だからStateモナドを使えば状態の管理が楽なんだよ,と答えたんじゃないの というか処理の全体って何だよ nextStateだか何だか知らないけど,おまいらどういう文脈を仮定しているのかと http://echo.5ch.net/test/read.cgi/tech/1140717775/928
929: デフォルトの名無しさん [sage] 2006/05/23(火) 23:06:13 自分(>>914)から話題をふっておきながら,返事が遅れてしまい申し訳ありません。 私が疑問に思ったのは以下のようなことです. スタックやレジスタを持つVMがいくつかの関数から参照されているとき, そのVMの中のレジスタだけを変化させて他の関数にその変化を反映させた い時,Haskellではそれをどのように解決するのかが疑問に思いました。 これはStateモナドを使えば可能ということでしょうか? Haskellで代入のような状態変化を表現するのに私は無限ストリームを使う方法しか知らなく,他にもっと良い方法があるのか疑問に思ったので質問しました. 無限ストリームを使って上記のようなことをできるのであればその方法も教えて頂きたいです. http://echo.5ch.net/test/read.cgi/tech/1140717775/929
930: デフォルトの名無しさん [sage] 2006/05/23(火) 23:07:30 それと私が書いたコードは以下のような感じです(若干略していますが)。 data VM = VM Stack RegisterTable runVM :: VM -> Codes -> VM runVM vm codes = selectUnChangedVM $ generateAllVM vm codes where selectUnChangedVM :: [VM] -> VM selectUnChangedVM (vm1:vm2:vms) | vm1 == vm2 = vm1 | otherwise = selectUnChangedVM (vm2:vms) generateAllVM :: VM -> Codes -> [VM] generateAllVM vm codes = iterate (execOne codes) vm execOne :: Codes -> VM -> VM execOne codes vm = newvm where code = selectCode vm codes newvm = execCode code vm やっていることは以下の通りです. (1) 1クロックごとのVMの状態を持つ無限ストリームを生成 (2) その中で次のクロックに移っても状態が変わっていないVMを見付けてそのVMを返す http://echo.5ch.net/test/read.cgi/tech/1140717775/930
931: デフォルトの名無しさん [sage] 2006/05/23(火) 23:09:22 そんなことより>>883の解説きぼん http://echo.5ch.net/test/read.cgi/tech/1140717775/931
932: デフォルトの名無しさん [sage] 2006/05/23(火) 23:13:35 >>930 止まる,というのを,「VMの状態が変化しないこと」としているのは,どうなんだろう。 普通はhalt命令とか入れるんでわ http://echo.5ch.net/test/read.cgi/tech/1140717775/932
933: デフォルトの名無しさん [sage] 2006/05/23(火) 23:15:30 というか後々副作用を導入する為にStateT IOで書くってのはどうよ http://echo.5ch.net/test/read.cgi/tech/1140717775/933
934: デフォルトの名無しさん [sage] 2006/05/23(火) 23:35:11 data RegisterTable = RegisterTable {r1::Int, r2::Int, pc::Int, sp::Int} updateR1 :: Int -> State RegisterTable () updateR1 v = do old <- get put (old {r1=v}) jump addr = do old <- get put (old {pc=addr}) めんどくさくなってきた…かなり反復気味のコードねコレ。良策求む。 ところでこのまま行って State VM a の a は () 以外に何かありえるのかな? 全部状態更新しかしない (State VM Bool などを使わない) ならState使う意味がない気がする http://echo.5ch.net/test/read.cgi/tech/1140717775/934
935: デフォルトの名無しさん [sage] 2006/05/24(水) 00:20:52 >>930 俺はそのままで問題ないと思う。execCodeの処理が複雑なら そこだけ>>934みたいにStateモナドを使って実装してもいいかも知れないが。 それはごく普通のストリームの使いかただから、 これが分かり辛いと言う奴はHaskellに慣れてないだけなんじゃないだろうか。 http://echo.5ch.net/test/read.cgi/tech/1140717775/935
936: デフォルトの名無しさん [sage] 2006/05/24(水) 00:36:13 まあでもVMを状態の無限ストリームで実装すると聞いたらびっくりするんじゃないだろうか。 実際>>930のコード読むまで私は質問者がどう実装したのか分からなかった。 あと,モナドなら>>933が言っているように(?)、 将来VMから環境に副作用を及ぼす(ファイル入出力やコンソール出力など)ように拡張したい場合、 StateTとIOと合成すれば一発、とかちょっとエレガントじゃなかろうか。やってないので分からんけど http://echo.5ch.net/test/read.cgi/tech/1140717775/936
937: デフォルトの名無しさん [sage] 2006/05/24(水) 00:53:32 >>932 アセンブラの演習とかで,終了を halt: jmp halt みたいに書くのはよくある。 Stateモナドは状態の履歴を持たないから、この場合に無限ストリームを使うのは結構賢いかも http://echo.5ch.net/test/read.cgi/tech/1140717775/937
938: デフォルトの名無しさん [sage] 2006/05/24(水) 01:29:59 ネタだけど、あとあと入出力を扱うためにもなでぃっくなストリームをつかう、とか newtype MonadStream m a = MS (m (a, MonadStream m a)) type Stream = MonadSteram Identity type IOStream = MonadStream IO http://echo.5ch.net/test/read.cgi/tech/1140717775/938
939: デフォルトの名無しさん [sage] 2006/05/24(水) 07:33:04 MLとかMirandaの話になってしまうが、 モナドがない頃は、無限ストリーム専門だったよ… http://echo.5ch.net/test/read.cgi/tech/1140717775/939
940: デフォルトの名無しさん [sage] 2006/05/25(木) 00:37:27 λ,,,,,,λ ガオー! ∩`iWi´∩ λ,,,,λ グオー! ヽ |m| .ノ∩`iWi´∩ |  ̄| ヽ |m| .ノ | | | | U⌒U U⌒U http://echo.5ch.net/test/read.cgi/tech/1140717775/940
941: デフォルトの名無しさん [] 2006/05/28(日) 21:47:49 Haskell面白そうなんだけど、サーバプログラム書けるのかな? 50本から100本くらいのソケットを効率良く処理したいから、 UNIXのselectシステムコールみたいな操作使って、 多重化したI/Oを準備OKなやつを片っ端からてきぱきさばきたいんだけど、 そういう処理って書けて効率良く実行できるのかな? あと、XMLも扱いたいけどライブラリはどれくらいあるの? さらに、通信部分とは別のところで、ユーザといろいろインタラクション するためのスレッドをたくさん動かして、スレッド間で複雑に相互作用が あるんだけど、そういった処理も書きやすいのかな? http://echo.5ch.net/test/read.cgi/tech/1140717775/941
942: デフォルトの名無しさん [] 2006/05/28(日) 21:52:47 そうそう、Haskel用のGUIは何がお勧めかな?Linuxで動けばいいよ。 Fedora Core 5のextrasリポジトリに ghc-gtk2hs-0.9.10-1.fc5.i386.rpmってのがあって、 GTK+のHaskellバインディングみたいだけど、これって使いものになる? 関数型のプログラミングスタイルとずれるところはあるの? http://echo.5ch.net/test/read.cgi/tech/1140717775/942
943: デフォルトの名無しさん [sage] 2006/05/28(日) 22:47:42 ん? とりあえず出来なさそうなことを色々挙げてみる煽りかな? http://echo.5ch.net/test/read.cgi/tech/1140717775/943
944: デフォルトの名無しさん [] 2006/05/28(日) 23:00:28 んーん。このスレ見てたらなんだか面白そうな言語だから勉強したく なったけど、単なる計算じゃなくて、もっと実践的な仕事まで視野に入れると どれくらい使いものになる言語なんだろうって知りたい。 実践っていっても、今仕事で書いてるようなプログラムをHaskellでも 書けるかって観点で最低限を書き出したら>>941-942みたいになったよ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/944
945: デフォルトの名無しさん [sage] 2006/05/28(日) 23:13:20 XMLで通信するMMOゲームでも作ってんのか>>944氏は。 http://echo.5ch.net/test/read.cgi/tech/1140717775/945
946: デフォルトの名無しさん [sage] 2006/05/28(日) 23:35:22 デイトレ用のプログラムと見た。 http://echo.5ch.net/test/read.cgi/tech/1140717775/946
947: デフォルトの名無しさん [sage] 2006/05/28(日) 23:42:13 誰も答えないので分かる範囲で。あまり信用しないでくれ。 >Haskell面白そうなんだけど、サーバプログラム書けるのかな? 書けると思われ。 >そういう処理って書けて効率良く実行できるのかな? ちょっと探してみたけどselectはなさそうだった。 必要ならシステムコールを呼べばいい。効率はしらね。 どっちかというとfdの数だけ(ユーザレベルの)スレッドを用意するのが推奨されてるような気もする。 >あと、XMLも扱いたいけどライブラリはどれくらいあるの? 有名なのは2つかな。 >あるんだけど、そういった処理も書きやすいのかな? 書きやすいと思う。 >そうそう、Haskel用のGUIは何がお勧めかな?Linuxで動けばいいよ。 Gtk2HsとWxHaskellの二択だろう。ちゃんと使った訳じゃないので評価はパス。 >関数型のプログラミングスタイルとずれるところはあるの? 微妙。少なくとも宣言的なGUIプログラミングができる訳ではない。 http://echo.5ch.net/test/read.cgi/tech/1140717775/947
948: デフォルトの名無しさん [] 2006/05/28(日) 23:49:06 >>945>>946 どっちもちがうよ。詳しくは言えない。 >>947 おぉおぉ!ありがとうっす。そこそこ実践的にも使えるんだね。 ユーザレベルのスレッドってコルーチンみたいなやつかな? wxHaskellなんてもんもあるんだ。そりゃいい! wxWidgetsはwxPython通して使ったことあるけど、 LinuxでもWindowsでも多少の変更で対応できるのがいいよね。 http://echo.5ch.net/test/read.cgi/tech/1140717775/948
949: デフォルトの名無しさん [sage] 2006/05/29(月) 00:57:36 なんかどっかでConcurrent Haskellの並行機構を使えばselectとか要らんよ, というのを英語で読んだ気がする 本家MLかなあ http://echo.5ch.net/test/read.cgi/tech/1140717775/949
950: デフォルトの名無しさん [sage] 2006/05/29(月) 11:30:12 まだHaskellはできることが少ないっていう認識&広告でいいと思う。 あとスピードも保障できないってことで。その代わりにたくさんメリットがあるわけだし。 http://echo.5ch.net/test/read.cgi/tech/1140717775/950
951: デフォルトの名無しさん [sage] 2006/05/31(水) 15:17:05 ふつうのHaskell買った人いる? http://echo.5ch.net/test/read.cgi/tech/1140717775/951
952: デフォルトの名無しさん [sage] 2006/05/31(水) 15:19:46 すっかり忘れてた http://echo.5ch.net/test/read.cgi/tech/1140717775/952
953: デフォルトの名無しさん [] 2006/05/31(水) 17:12:41 ほほほ本ののちちょちょ調子ははどどどうだっ!?? http://echo.5ch.net/test/read.cgi/tech/1140717775/953
954: デフォルトの名無しさん [sage] 2006/05/31(水) 17:14:03 まさに本調子でした http://echo.5ch.net/test/read.cgi/tech/1140717775/954
955: デフォルトの名無しさん [] 2006/05/31(水) 18:09:39 早速立ち読みしてくるか http://echo.5ch.net/test/read.cgi/tech/1140717775/955
956: デフォルトの名無しさん [] 2006/05/31(水) 18:39:39 おい明日発売じゃないかよ! 騙したな! http://echo.5ch.net/test/read.cgi/tech/1140717775/956
957: デフォルトの名無しさん [sage] 2006/05/31(水) 20:00:58 >>954 誰が上手い事を言えと http://echo.5ch.net/test/read.cgi/tech/1140717775/957
958: デフォルトの名無しさん [sage] 2006/06/01(木) 00:04:31 >>956 同志!! 俺は、近所の本屋、2、3軒のぞきに行っちゃったぜ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/958
959: 956 [] 2006/06/01(木) 03:41:24 >>958 ごめん…実はアマゾンで調べたら明日って事になってたから 実は本屋に行かなかったんだ… http://echo.5ch.net/test/read.cgi/tech/1140717775/959
960: デフォルトの名無しさん [sage] 2006/06/01(木) 10:42:12 こがいだんでも、haskellができるのに。 http://echo.5ch.net/test/read.cgi/tech/1140717775/960
961: デフォルトの名無しさん [] 2006/06/01(木) 18:20:19 ほほほ本の調子はどどどどう!!? http://echo.5ch.net/test/read.cgi/tech/1140717775/961
962: デフォルトの名無しさん [] 2006/06/01(木) 18:25:22 著者はこのスレ覗くの? http://echo.5ch.net/test/read.cgi/tech/1140717775/962
963: デフォルトの名無しさん [sage] 2006/06/01(木) 18:31:47 当たり前。 http://echo.5ch.net/test/read.cgi/tech/1140717775/963
964: デフォルトの名無しさん [sage] 2006/06/01(木) 20:44:29 配本とかさ、混乱させるようなこと書かないで欲しい わざと一般的な書き方しなかったのかな http://echo.5ch.net/test/read.cgi/tech/1140717775/964
965: デフォルトの名無しさん [sage] 2006/06/02(金) 03:04:27 亀レスですまんが、 >>684 Haskellのリストで二分検索ってできるの? 二分検索というからにはO(logN)じゃないと意味がないと思うんだが、 lengthだの!!だの使っている時点でO(N)を越えている気がしてならない。 http://echo.5ch.net/test/read.cgi/tech/1140717775/965
966: デフォルトの名無しさん [sage] 2006/06/02(金) 03:14:12 二分探索は配列用のアルゴリズムだからなぁ。 Haskell なら最初から二分木作った方がいいと思われ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/966
967: デフォルトの名無しさん [sage] 2006/06/02(金) 17:47:57 ビックカメラに置いてあったので買いました。 かなり分かりやすそうです。 http://echo.5ch.net/test/read.cgi/tech/1140717775/967
968: デフォルトの名無しさん [sage] 2006/06/02(金) 17:48:37 >>967 >>951 http://echo.5ch.net/test/read.cgi/tech/1140717775/968
969: デフォルトの名無しさん [sage] 2006/06/02(金) 17:56:33 山積みの「ふつうのHaskell」と3冊「入門Haskell」があったけど、、、、 「入門Haskell」売れまくりだな!! http://echo.5ch.net/test/read.cgi/tech/1140717775/969
970: デフォルトの名無しさん [sage] 2006/06/02(金) 18:25:22 入門Haskellは名前からして初心者が買いそうだけど、名前に釣られたやつら乙って感じだな。 ふつうのHaskellプログラミングの方がまだまし。 http://echo.5ch.net/test/read.cgi/tech/1140717775/970
971: デフォルトの名無しさん [] 2006/06/02(金) 19:24:22 著者さん乙 http://echo.5ch.net/test/read.cgi/tech/1140717775/971
972: デフォルトの名無しさん [sage] 2006/06/02(金) 19:29:33 ふつうのHaskell amazonから発送乙 http://echo.5ch.net/test/read.cgi/tech/1140717775/972
973: デフォルトの名無しさん [sage] 2006/06/02(金) 21:14:24 読んでみた。この本すげーよ。特に第一部は神。 例に沿っていくうちに、極めて自然に構文や標準関数を導入している。 ただ、どっちかというと言語とライブラリの解説が主で、自分でコードを書くための 訓練には余り重点が置かれていないようだ。 しかし、IOモナドの説明がうんこ(世界を持ち出す)なのと、評価と実行を混同してるのは わざとなんだろうか。特に後者は方便の域を越えると思う。最後まで訂正されないし。 http://echo.5ch.net/test/read.cgi/tech/1140717775/973
974: デフォルトの名無しさん [sage] 2006/06/02(金) 21:26:19 本当に、マジ分かりやすいね。 ふつうのLinuxまで読みたくなった。 (これだと某有機氏の本は不要かもって思った。) http://echo.5ch.net/test/read.cgi/tech/1140717775/974
975: デフォルトの名無しさん [sage] 2006/06/02(金) 22:02:45 「神」とか「うんこ」とか、アホみたいな文体やめろ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/975
976: デフォルトの名無しさん [sage] 2006/06/02(金) 22:04:40 2ch特有の言い回しだろ、と http://echo.5ch.net/test/read.cgi/tech/1140717775/976
977: デフォルトの名無しさん [sage] 2006/06/02(金) 22:14:24 >>975 適切だと思ったから使ったんだよ。悪いかよ。 勝手に脳内変換して読んでろハゲ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/977
978: デフォルトの名無しさん [sage] 2006/06/02(金) 22:21:31 入門書はいいから、もっと実のある本を書いてくれ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/978
979: デフォルトの名無しさん [sage] 2006/06/02(金) 22:23:23 少なくとも、Haskellバリバリに使い込んでる人が書いてくれよ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/979
980: デフォルトの名無しさん [sage] 2006/06/02(金) 22:25:10 そんな奴日本にいない http://echo.5ch.net/test/read.cgi/tech/1140717775/980
981: デフォルトの名無しさん [sage] 2006/06/02(金) 22:30:52 女子高生は仲間同士のメールでHaskellしてるらしーぞ http://echo.5ch.net/test/read.cgi/tech/1140717775/981
982: デフォルトの名無しさん [sage] 2006/06/02(金) 23:32:39 975はうんこ http://echo.5ch.net/test/read.cgi/tech/1140717775/982
983: デフォルトの名無しさん [sage] 2006/06/02(金) 23:38:31 >>978 入門者以外なら論文読むと良いよ。 http://echo.5ch.net/test/read.cgi/tech/1140717775/983
984: デフォルトの名無しさん [sage] 2006/06/02(金) 23:39:06 >>980 日本どころか世界中でもほとんどいない。 http://echo.5ch.net/test/read.cgi/tech/1140717775/984
985: デフォルトの名無しさん [sage] 2006/06/02(金) 23:39:57 「論文など実用的でない」とレスするに一票 http://echo.5ch.net/test/read.cgi/tech/1140717775/985
986: デフォルトの名無しさん [sage] 2006/06/02(金) 23:42:58 >>984 ダブルSimonは例外 http://echo.5ch.net/test/read.cgi/tech/1140717775/986
987: デフォルトの名無しさん [sage] 2006/06/02(金) 23:44:38 どうせみんな見栄で買ってるんだろ。w 本当は理解できてないと正直に言いなさい。 http://echo.5ch.net/test/read.cgi/tech/1140717775/987
988: デフォルトの名無しさん [sage] 2006/06/02(金) 23:50:44 ミエで買うなら入門書の類は選ばないと思うが・・・ http://echo.5ch.net/test/read.cgi/tech/1140717775/988
989: デフォルトの名無しさん [sage] 2006/06/03(土) 00:15:08 あほみたいな文体は、隔離しておかないと、うつるからな。 知らないうちに、うんこ、うんこが口癖になるからな。 http://echo.5ch.net/test/read.cgi/tech/1140717775/989
990: デフォルトの名無しさん [sage] 2006/06/03(土) 00:20:56 うんこー http://echo.5ch.net/test/read.cgi/tech/1140717775/990
991: デフォルトの名無しさん [sage] 2006/06/03(土) 00:36:22 >>987 そんな難しいか? http://echo.5ch.net/test/read.cgi/tech/1140717775/991
992: デフォルトの名無しさん [sage] 2006/06/03(土) 00:45:30 うんこのまま1000まで突入 http://echo.5ch.net/test/read.cgi/tech/1140717775/992
993: デフォルトの名無しさん [sage] 2006/06/03(土) 00:49:53 うんこ http://echo.5ch.net/test/read.cgi/tech/1140717775/993
994: デフォルトの名無しさん [sage] 2006/06/03(土) 00:55:08 うん、このまま1000まで突入 http://echo.5ch.net/test/read.cgi/tech/1140717775/994
995: デフォルトの名無しさん [sage] 2006/06/03(土) 00:58:06 関数型プログラミング言語Haskell Part5 http://pc8.2ch.net/test/read.cgi/tech/1149263630/ http://echo.5ch.net/test/read.cgi/tech/1140717775/995
996: デフォルトの名無しさん [sage] 2006/06/03(土) 01:00:58 >>995 乙うんこ http://echo.5ch.net/test/read.cgi/tech/1140717775/996
997: デフォルトの名無しさん [sage] 2006/06/03(土) 01:11:01 日本でHaskellの本が一気に2冊出たことを本家haskell.orgに知らせたら喜ぶのではなかろうか http://echo.5ch.net/test/read.cgi/tech/1140717775/997
998: デフォルトの名無しさん [sage] 2006/06/03(土) 01:13:18 Haskell Weekly Newsぐらいには出て然るべき http://echo.5ch.net/test/read.cgi/tech/1140717775/998
999: デフォルトの名無しさん [sage] 2006/06/03(土) 01:13:52 999 http://echo.5ch.net/test/read.cgi/tech/1140717775/999
1000: デフォルトの名無しさん [sage] 2006/06/03(土) 01:15:08 1000 なら Haskell が天下を取る http://echo.5ch.net/test/read.cgi/tech/1140717775/1000
1001: 1001 [] Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。 http://echo.5ch.net/test/read.cgi/tech/1140717775/1001
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.018s