1 名前:デフォルトの名無しさん [2007/04/14(土) 00:59:19 ] いいからやってみ
2 名前:デフォルトの名無しさん [2007/04/14(土) 01:10:55 ] 2get
3 名前:デフォルトの名無しさん [2007/04/14(土) 01:26:07 ] eclipseのプラグインあるのな
4 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 01:45:11 ] まずは副作用の記述方法から教えて下され。
5 名前:デフォルトの名無しさん [2007/04/14(土) 01:47:05 ] 副作用は書けないだろ? 関数型なんだから
6 名前:デフォルトの名無しさん [2007/04/14(土) 01:48:10 ] 2げt
7 名前:デフォルトの名無しさん [2007/04/14(土) 01:50:32 ] 3げt
8 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 01:51:44 ] >>5 それはよくある関数型言語に対する誤解。 実際は、副作用を隔離出来たり、あたかも副作用じゃないように書けるというだけ。
9 名前:デフォルトの名無しさん [2007/04/14(土) 01:54:36 ] ja.wikipedia.org/wiki/Erlang
10 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 01:56:50 ] なんかたってるw 個人的にはポストjava候補だが、知名度低いよな〜
11 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 01:59:19 ] ここが日本では一番古くて一番詳しいね ttp://www.kmonos.net/alang/etc/erlang.php
12 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 01:59:25 ] 歴史はあるんだがな…
13 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 02:00:53 ] 落とせ www.erlang.org/
14 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 02:00:59 ] 副作用の書き方 ttp://quasiquote.org/log2/Erlang
15 名前:デフォルトの名無しさん [2007/04/14(土) 02:04:40 ] これって勝手に並列処理って触れ込みだけど、 実はGreen Threadのみで、マルチコア意味なし何じゃなかった?
16 名前:デフォルトの名無しさん [2007/04/14(土) 02:08:27 ] 今見たら、全然自動並列処理じゃないや。 思いっきりexplicitに指定。だめだめじゃんw
17 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 02:50:42 ] おまえの人生のだめだめさには遠く及ばんよ。関数型言語関連スレを荒しているキチガイさん。 >>15 >>16 の僅か 2 レスでよくそこまで低能を晒せるもんだと関心するよ。 まぁ、荒しすらちょっとお前ににゃ荷が思いんじゃねーの?どこでそんな妄想したのー?バカ丸出しだよ?
18 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 02:54:20 ] >>17 では、Erlangの良いところは何?
19 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 02:59:21 ] これ動的束縛な言語だけど、速度はどんなもんなの? Wings 3D は結構サクサク動くんだよね。
20 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 03:33:13 ] >>18 www.erlang.org/download/erlang-book-part1.pdf
21 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 06:27:42 ] これでも見て落ち着け www.youtube.com/watch?v=uKfKtXYLG78
22 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 08:06:16 ] >>21 こっちがフルバージョン video.google.com/videoplay?docid=-5830318882717959520
23 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 08:06:52 ] O'ReillyにErlangの本が出版予定になってる。(ただし、出版元はPragmatic Bookshelf) 盛り上がりつつある、のかな?
24 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 09:59:57 ] Erlang良いんだけど、すげぇ好きなんだけど、日常業務に持ってくるにはどうしても文字コードの壁が。 utf-8食わせるとバイトの細切れにされちゃう。
25 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 10:21:14 ] yawsとmnesia駆使して業務システム作ってみたい
26 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 12:38:20 ] >>3 あるよ erlide.sourceforge.net/
27 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 12:47:04 ] haskellよりライブラリが充実してるので実用的だといえる。 が、記述はhaskellより冗長になりがち。
28 名前:デフォルトの名無しさん [2007/04/14(土) 14:16:11 ] あげるの
29 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 14:19:44 ] 実は隠れファンが多い?
30 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 14:22:09 ] 分散が簡単に書ける
31 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 14:24:09 ] 変数を小文字で書いてハマるのはお約束。
32 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 14:42:23 ] 交換器で使われてたんだっけ?
33 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 14:50:50 ] >>17 キチガイは俺だー。残念でしたーっと。 やる気ないけど、便乗で勉強してみたいと思うので教えれ。
34 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 14:55:44 ] 日本語の情報が少ないな。 しゃーね、英語読むか・・・orz
35 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 15:18:15 ] >>17 釣れたようだな
36 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 16:47:53 ] >>32 mjd?ちょっと勉強しとこうかな・・・
37 名前:17 mailto:sage [2007/04/14(土) 17:34:03 ] >>33 残念ってなんだよ?いっとくが俺はプログラムなんてあんまり知らないよ。 暇潰しにバカいじりにきただけだもん。バカの必死な自演を見たいだけ。 公式サイト一通り読んでみただけ。まぁ「勝手に並列処理って触れ込みだけど」とか いうアホには笑わっせてもらった。 はやくバカさらしてくれねぇかなー。他のスレで待ちぶせたほうがいいのかな?
38 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 18:16:47 ] 他所でやれ
39 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 18:25:08 ] あっちの釣りスレにはとんと寄り付かないんだな。 もしかしてかなりマジ入ってて、荒らす余裕もなかったりして
40 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 18:37:23 ] はやくエープリルフールにならねえかな
41 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 20:22:16 ] >>37 ってなんでいつもテンパってるの
42 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 20:36:07 ] rucila.s43.xrea.com/memo/?date=0304
43 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 21:14:07 ] 無知の知を恥と感じる類いの下等生物だから。
44 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 21:20:29 ] >>41 お、キテるね。「いつもテンパッてる」って。いつも => どんな妄想? テンパってる => どこが? なに、妄想のなかでは俺が涙目みたいな?いやー、そんな妄想はホラーだね。ゾっとするね。
45 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 21:40:57 ] 次の患者さん、どうぞ。
46 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 22:06:38 ] 予想通り、版画がスレ破壊してやがる。 こいつ悪金にすべきだろ。
47 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 22:12:25 ] >>46 抑鬱性神経障害による妄想と診断しました。早急に病院に行くように。 荒しはスルーでお願いします。 次の患者さん、どうぞ。
48 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 22:16:29 ] やっぱり版画か。死ね。
49 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 00:22:08 ] なぜこんなレアな言語のスレを荒らすのか理解できないな。 どうせならHaskellの本スレにいけよw
50 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 01:02:26 ] 絡むと自分まで利口に見えてくる集団なら、どこでもいいんだろう。 だからまぁ、CやPerlやHSPのスレには現れないだろうな。
51 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 01:10:39 ] 「Haskellに絡めば利口に見える」という発想に衝撃を受けた。。。 そんな勉強は普通学校時代に済ませとくもんだろ。
52 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 01:41:52 ] 関数型言語は概して小難しそうという風潮はあったよ。 単にきちんと説明出来る人がいなかっただけだったけど。 最近は Haskell の名前を出すのがちょっと恥ずかしいくらい 知識が普及して来ているよね。だから、ここらで Erlang に 手を出してみようかという機運が上がるのも分からない話では ない。特に言語マニアを自任している様な人達なんかは。
53 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 01:42:57 ] なんでお前の話って、相手に合わせてすぐに論調がコロコロ変わるの? 一貫した主張を持っているとは思えない。
54 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 01:46:31 ] >>53 貴様の敗因は相手が一人だと思っている事だ。。。 誰を思い描いているのかしらんけどね。
55 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 01:51:10 ] あらあら口調がすっかり乱暴者になってますよ。 三時間もてめぇの煽りにつきあってやったのに、 まだ何か溜まってらっしゃるのですか?
56 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 01:52:39 ] 悪金に出来ない以上、版画の煽りは完全無視するしかないだろ。スレがだめになる。 自演も激しいけど、とにかく完全無視。 で、使ってる人は居るんか?
57 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 01:55:02 ] なんだてめぇが煽ってきた癖に、最後は責任転嫁か めでてぇな >で、使ってる人は居るんか? 以前から興味はあるが、触ってはいない。
58 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 01:55:07 ] 何の話だか分からんけど、間違えられて煽られるのは変な感じだね。 純粋に煽る事が目的の人は何が面白いのかしらんけど、そういう人を 観察出来るのが 2ch の醍醐味でもあるね。
59 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 01:56:37 ] 2ちゃんにしか居所がないような奴に 性格悪い奴が多いのは承知の事だから、 機械的に煽りに対応してるだけだ。 気にせず話題を先に進めるべし
60 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:00:05 ] じゃ、Erlang に足りない機能は何? 今まで上がったのは native thread 対応と Unicode 対応だけど、 native thread 対応してないんだっけ?
61 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:00:57 ] そんな話題、自分で調べろよ。
62 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:03:23 ] Erlang のマクロって名前の置き換えだけ? それとも Lisp みたく構文木を弄れるの?
63 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:11:02 ] >>59 機械は頼みもしない同一人物妄想しませんよ。
64 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:13:12 ] >>62 へぇ。Erlangのマクロってどんなのなんだい >63 キミがとても異常な人物である事は良く判った
65 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:13:35 ] >>51 > 「Haskellに絡めば利口に見える」という発想 そんな発想は誰もどこにも書いてないじゃん。
66 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:14:49 ] >>64 2ちゃんにしか居所がないだけあって、性格悪いですねえ。
67 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:16:10 ] この時間帯はどのスレに行っても異常人物が書き込んでいるようだな。
68 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:17:35 ] >>67 さっき某所で煽られまくってたアホが奮起して 全部のスレ荒しまくってる所だろ。 スルーしておけ
69 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:18:22 ] まぁなぁ。 妄想を爆発させて自分の複数の話し相手を同一人物だと思い込んだ挙げ句 それを機械的な対応とか言い出す異常人物には事欠かない時間帯だ。
70 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:18:28 ] native thread 対応してるみたいね。中々良いんじゃない、これ?
71 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:18:38 ] >>67 その異常人物、池沼とか呼ばれてる奴だよ。
72 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:20:01 ] 普通の人は寝てる時間だからなあ。
73 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:22:18 ] プログラマが普通の人なわけないって言えばまぁそれまでなんだが
74 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:26:39 ] 判りきってる話だが、この手のスレって もう何年も前から荒ししか居ねぇじゃん。 まともな会話できる人間、こっち来ないかな
75 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:27:26 ] 煽りに反応してるあんちゃん、>>56 でいこうぜ。 >>70 そうなん?ソースplz www.erlang.org/faq/t1.html#AEN17 には、 > Context switching between Erlang processes is typically one or two orders of magnitude cheaper than switching between threads in a C program. とあるが。nativeに割り付けることもできるのか?
76 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:32:01 ] >>75 早速情報サンクス。 magnitudeってのはこの場合なんだろね? ところで。ここ荒してるのは版画?とかいう奴ではなく いつもプログラム板荒してる例の彼だ。間違いない。
77 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:32:30 ] Erlangまとめwiki ttp://www32.atwiki.jp/erlang/
78 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:33:39 ] >>77 さんはErlangで何をしたいのですか?
79 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:35:08 ] >>74 まともな会話のできる人間がこっちに来ても、 まともじゃないあなたとはまともな話が成り立たないのでは?
80 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:36:47 ] >>77 作成日4/13って・・・お疲れ様!
81 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:38:02 ] >>78 まぁ普通はプログラミングでしょう。
82 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:38:13 ] >>75 www.erlang.org/faq/x479.html#AEN643 >As of OTP R11B, the Erlang VM has SMP support for modern > versions of Linux, Solaris and MacOSX on PPC erlang.org/doc/doc-5.5/erts-5.5/doc/html/notes.html#1.1.2 > A runtime system with SMP support is by default built on the following platforms > if posix threads, and a gcc compiler of at least version 2.95 is found: > > Linux with at least kernel version 2.6 and the Native POSIX Thread Library on x86, > x86_64, and 32-bits PowerPC. > Solaris of at least version 8 on 32-bits SPARC-V9. > MacOSX of at least version 10.4 (Darwin 8.0) on 32-bits PowerPC. 俺が使っている OS では問題無くネイティブスレッド対応しているみたいで良かったよ。
83 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:40:43 ] まだリンクが出てなかったみたいなんで。 www.planeterlang.org/ ネタが無いなら、ここから話題を拾っていくと面白そうだね。
84 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:43:24 ] >>79 まぁ落ち着いて落ち着いて。 ここ数年、一部分野で異常者が長期間出没していたので、 私自身ここ1〜2年ほど2ちゃんから遠ざかっていた。 この3月、時間的ゆとりができたので久々に2ちゃんを見たら、 どうもかつて同じ仕事をやっていた知り合いが 数年前と同様にあちこちでトラブルを起こしていた。 そこで、そいつに付き合って、そいつがこれ以上悪さをできないように 歯止めをかけて回っていました。 そのためにプログラム板が荒れたようであれば、申し訳ない。 また、その過程で私自身の書き込みが多少ひねてしまってきているのも 否定しようがない。 だが、現実世界に悪影響を与える行動を2ちゃんで繰り返している人物は 誰かが止めなきゃならん。 そういう事だ。
85 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 02:46:58 ] もういいよ、その話は。 このスレに、異常者が来なければ済む話だ。
86 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 03:05:14 ] いまのところ異常者しか書き込んでいないから、道は険しいな。
87 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 03:05:33 ] >>65 >>50
88 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 03:08:12 ] >>85 あなた自身は異常者ではない、 これまで2ちゃんで他人と匿名で誹謗中傷した事がない、 と証明できますか? あなたは信用に値する人間ですか?
89 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 03:09:57 ] 自分が信用に値する人間であると証明せずに、 相手を誹謗中傷するのは、誤った姿勢だ。
90 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 03:10:30 ] CEAN つうのが Perl でいう CPAN みたいな物なのかな。 cean.process-one.net/
91 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 03:11:54 ] 情報の出し方、Wikiのまとめ方を見て、 あまり信用に値する人間とは思えない。
92 名前:デフォルトの名無しさん [2007/04/15(日) 03:20:03 ] 豆腐のキレっぷりに爆笑www 貴様は負け犬なんだからムリすんな
93 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 03:23:03 ] >>87 Haskellという単語さえ出てこないんですが・・・。 CやPerlやHSPといった、正真正銘の超初心者や子供が多数現れるスレは さすがにターゲットにしないが、それ以外はどこでもいいんだろう、と言っているわけです。
94 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 03:26:51 ] 異常者ばっかりでついていけない or キモい
95 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 03:29:16 ] まわりがみんなおかしいと思うときは 大抵自分がまずおかしくて、すべてはおかしいが故の判断なんだよ。
96 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 03:29:40 ] 俺の場合は学生時代から関数言語love 当時の手近な環境ではgoferしか動かなかったけどな
97 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 03:30:33 ] 荒らしに構う奴は荒らし。突っ込みたくてもグッと堪えて、大人になりましょう。 日本でいじってる人ハッケソ jijixi.azito.com/cgi-bin/diary/index.rb?category=Erlang
98 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 03:31:55 ] いきなりこけた
99 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 03:53:45 ] 煽り耐性が異常に低いスレw スネに傷をもったケダモノは反応が良いな
100 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 03:57:55 ] イジメ甲斐があるよなぁ、ここの連中はww
101 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 04:05:17 ] 異常者濃度が異常に高いスッドレ
102 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 04:21:31 ] このスレは二次情報ばかりで 実際に手を動かしている形跡がないな。
103 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 04:28:54 ] それで良いんだよ。問題無い。
104 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 04:32:30 ] いみふめ
105 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 04:36:08 ] これが例のトラブルメーカーのスレか 納得した
106 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 06:24:09 ] 資料大嫌いな業務コンサルちゃんが 精一杯の嫌がらせをしたつもりのスレ として見ると、内容の空虚さも納得できるな。 調査目的や調査項目の不明確さ、価値判断の回避、取り敢えずこれで業務アプリ作ればすごい筈だ的超楽観主義etc,etc ダメな奴は何をやってもピント外れだ
107 名前:デフォルトの名無しさん [2007/04/15(日) 06:43:25 ] 「Javaの代わりに新しい言語をどっかから見つけてきて(w 若くて優秀な連中集めて実用アプリケーション作りました、 だから俺は偉いんです 的な発想が評価されるのは20代までだ。
108 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 08:27:47 ] 頭がおかしい人は、とにかくレスを欲しがっています。 レスをしたら、あなたは荒らしの共犯者です。 電話システムみたいな社会インフラで実際に使われてるってのは、 性能や品質面も含めて実用性が期待できるな。
109 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 09:29:46 ] 頭がおかしい人は、とにかくレスを欲しがっています。 レスをしたら、あなたは荒らしの共犯者です。 目先の開発言語をいくら変更しようと、 どんなに素晴らしいシステムコンポーネントを導入しようと、 業務コンサルの知性ではその性能を発揮させる事はできません。 ある業務コンサルは、マルチスレッドプログラミング上のノウハウを 知らなかったために、金融証券系基幹システムの開発で デスマーチを起こしました。 このような人物が、初物言語を使って実用システムの開発を行ったら、 どのような惨事が発生するか、想像するのも容易でしょう。
110 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 11:14:08 ] 平気で差別的な発言をする奴は品性が狂ってる(プゲラ それより、副作用のあつかいがメッセージでどうのってあるけど どういうことなのかねぇ
111 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 11:20:33 ] (プゲラ ぇ まで読んだ
112 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 13:14:48 ] >>111 そこまでっていうか、そこだけ読めば十分なのがすごいよね。
113 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 17:25:59 ] まとめサイト書き換えてみた。 関数型で並列てのは面白いところだと思うので、いろいろみてみる。 quasiquote.org/log2/Erlang この辺見ると、ドライバってのと、gen_server等のsupervisorによってworker群で副作用を扱えるらしい。 gen_serverってのの使い方が分かるといいみたい。supervisorってなにというかんじだなぁ。
114 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 17:32:14 ] 頑張って下され。
115 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 17:36:19 ] >>113 付属ドキュメントの「Design Principles」を読むべし
116 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 17:51:34 ] なにがどこにあるかわからないので、適当にマクロとか読んでみてた。 超適当な訳をwikiにものせといたよ。 -define(Const, Replacement). -define(Func(Var1,...,VarN), Replacement). マクロはこんなかんじで、Cっぽく、関数風のマクロもあるらしい。 さてこれが、ハイジニックなのかどうかが疑問ですな。
117 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 18:04:20 ] 日本のErlang使い 追加 ttp://d.hatena.ne.jp/erlang/
118 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 21:39:38 ] web.archive.org/web/20030228034710/http://ha9.seikyou.ne.jp/home/eajes/erlang/ マニュアルの翻訳が昔あったみたい。
119 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 22:02:00 ] func(N) -> 0;. 1: syntax error before: '->' ** なぜ? 4> c(test.erl). ./test.erl:none: no such file or directory error なぜーー??
120 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 22:16:06 ] -module(sample). -export([add/2,add1/2,add2/2]). -define(ADD(X,Y), A=X+1,B=Y-1,A+B). add(X,Y) -> ?ADD(X,Y). add1(X,Y) -> W=X+1,?ADD(W,Y). add2(X,Y) -> A=X+1,?ADD(A,Y). で、add2がエラー出るので、ハイジニックじゃないみたい。 C言語風のマクロだ。
121 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 22:21:20 ] >>119 -module(test). -export([func/1]). func(N) -> 0. で、 60> c(test). ./test.erl:3: Warning: variable 'N' is unused {ok,test} 61> test:func(3). 0 となったけど。
122 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 22:26:28 ] >>119 ディレクトリ指定してコンパイルしてる?
123 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 22:58:17 ] 仕事場にこっそり環境仕込んできた。 同僚のマシンにもこっそりしこんできた。 こっそり分散やるぜ。
124 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 02:13:40 ] ほうほう
125 名前:デフォルトの名無しさん [2007/04/17(火) 23:16:13 ] だれかハローワールド書いてくれ
126 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 23:27:34 ] 広域WEBもといオブジェクトRPCはWEBのキモンだからな、応援するぜ
127 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 00:08:15 ] 分散処理の原点エッセンスは事務処理の支店独立会計制度から生まれたものだと思ってるぜ。 特に未達処理。 更に肝心なのが、2フェーズコミットが支店分散計算精度に近く、RPCが本店集中計算精度に近いと思ってるぜ。 2フェーズが本格分散なら、RPCは相手からオブジェクトを引っ張ってくる擬似階層分散。 2フェーズはピンホール障害がやばい、レプリカ照合の手もあるがいまだに運用無しに解決できない未解決問題に近いと思ってるぜ。 たとえば、bigin>@からAへのcommit>@からBへのcommit>endというトランザクションがあって、 Aへのcommitが終了したとする、ここで、 @がAに伝票(commit)を送る>@はAに届いたかどうか分からないので控えをAから@へ>今度はAは@に控えが届いたかどうか分からない。>以下ループ。 それに比べ、RPCはそれぞれが本店になったつもりの本店集中処理、これがミソだと思ってるぜ。 最後に、この巨大な実例として機能してきた原点を忘れないことが大事だと思ってるぜ。
128 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 00:25:51 ] 今夜はなんでこんなに素人がのさばってんの?
129 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 00:41:04 ] >>128 この場でのプロを定義してくれよ(嗤
130 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 00:41:44 ] 元々おかしな人しか居ない。
131 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 00:48:32 ] io:format("hello world~n", []). なのでしょうかねぇ。
132 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 00:53:59 ] io:format("~s ~s~n", ["hello","world"]). な風に書けるんだねぇ。 ~がエスケープシーケンスなんだねぇ。
133 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 01:09:09 ] ぇ まで読んだ
134 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 01:10:17 ] 痛いのが炸裂状態
135 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 01:12:27 ] io:format("~w ~w~n", [hello, world]). こうもかけるんですねぇ。 面白いですねぇ。
136 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 01:27:57 ] 幼いネェ
137 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 04:48:44 ] io:format("~s", [binary_to_list(<<"Hello",16#20,375531924580:40,$!,$\n>>)]). バイナリがおもしろい。
138 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 05:01:29 ] io:format("~s", [binary_to_list(<<36#FG3H7VQW0Y58PTWSI77U:104>>)]).
139 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 05:33:30 ] これでいいのか。 io:format(<<36#FG3H7VQW0Y58PTWSI77U:104>>).
140 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 12:43:16 ] 75> io:format(<<"~s",10>>,["hoge"]). hoge ok 76> io:write(<<"~s",10>>). <<126,115,10>>ok 77> io:put_chars(<<"~s",10>>). ~s ok 78> io:format("~s",[<<"~s",10>>]). ~s ok 79> io:fwrite("~s",[<<"~s",10>>]). ~s ok 82> io:fwrite(standard_io,"~s",[<<"~s",10>>]). ~s ok 83> io:format(standard_io,"~s",[<<"~s",10>>]). ~s ok formatとfwriteは同じなんでしょうか。
141 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 12:52:00 ] >>140 同じ。ソース(io.erl)見れ。
142 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 13:31:04 ] ほんとだ。なるほど。 ioの関数はだいたい最終的にrequestを呼ぶことになるんですね。 request(Pid, Request) when pid(Pid) -> Mref = erlang:monitor(process,Pid), Pid ! {io_request,self(),Pid,io_request(Pid, Request)}, wait_io_mon_reply(Pid,Mref); で組み込み関数使ってメッセージ投げて応答受けて返すと。
143 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:46:43 ] お前らProgramming Erlang嫁。必ず満足する
144 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 23:16:12 ] 日本語に訳せや
145 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 23:18:36 ] 業務コンサルにはムリ
146 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 06:30:47 ] 確かに、英語も読めないDQNのために労力割くなんて 物好きじゃないと無理だよな。
147 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 14:03:49 ] Apolloポケットガイド邦訳WIKI labs.anthill.jp/wiki/apollo/index.php?FrontPage みたいに、著作権をクリアーにして、 翻訳者募ればいいんだろうなぁと思う。 たぶんその辺は、 wikibana.socoda.net/wiki.cgi?Wiki%be%ae%cf%c3%2fVol%2e2 ここで話されてたんだと思う。 俺は著作権とかどうでもいいかんじだったので、 悪いことをずっとしてきてたのかなぁと思いまして、 自己嫌悪でやる気も出ず、消えてなくなりたい今日この頃です。
148 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 16:42:50 ] 業務コンサルさん、そんな仕組みつくったって。
149 名前:デフォルトの名無しさん [2007/04/21(土) 08:29:56 ] Erlang本体とCEANを別々の場所に入れてるんですが、 c:/cean_base c:/erl5.5.4 CEANから取得したアプリ(c:/cean_base/erlang/libに保存される)を Erlang本体の方から使うにはどういう設定をすればいいのでしょうか?
150 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 12:52:20 ] >>149 erl -pa (アプリケーションのebinディレクトリのパス) で起動かな。 まあ、ceanのlibを丸ごとerl5.5.4/libにコピるという荒技もなくはないけど。
151 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 14:16:24 ] >>150 どうもです。 -paで起動してみて、それでも不都合があるようならコピーしてみます。
152 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 16:23:58 ] >>149 ~/.erlang code:add_pathz("/erlang/lib/distel/ebin"). code:add_patha("/erlang/lib/erlyweb-0.5/ebin"). Windows じゃだめかも。
153 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 17:02:31 ] >>152 Windowsのパス形式(c:/〜)でも大丈夫でした。どうもです。
154 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 17:11:58 ] cean:available() で先頭に出てくるアプリ名、この名前はないだろ・・・。
155 名前:デフォルトの名無しさん [2007/04/26(木) 22:40:51 ] age
156 名前:デフォルトの名無しさん [2007/04/28(土) 00:11:46 ] www.atmarkit.co.jp/news/200704/27/erlang.html twitterでも使ってるのか。ばりばり実用だな。
157 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 11:52:54 ] Erlangとはすごいなつかしい。 15年くらい前にちょこっといじったことが あるよ。
158 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 11:58:31 ] >>156 ejabberd使ってるのか。 次はRoRをerlywebにおきかえてもらいたいな。
159 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 03:39:31 ] このマッタリ感はいい意味でやばいな。おまえら密かに猛烈な勢いで習得してるだろw
160 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 04:11:43 ] これは来年あたりAdaが流行るな
161 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 09:30:10 ] 俺はもう飽きた。がんばってな〜
162 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 00:14:02 ] お前らっていっても数人程度だと思うが。
163 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 16:44:13 ] void()を返す関数ってどうやって定義すんの? STDLIBにはそういう関数あるんだけど(help()とか)、ソースをざっと 眺めた限りでは、最終的にどっか別の関数呼び出してるのばっかりで、 最後のところまでたどり付けない……。
164 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 17:18:51 ] >>163 void() の例を探してみたけど、ok を返してるだけだったよ。 それをドキュメント生成ツールが void() と表記してるっぽい。
165 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:25:51 ] >>164 thx, なるほど。それで文法の方にそれらしき情報が載ってなかったわけか。
166 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 02:55:40 ] printf相当なio:formatはあるのに、sprintf相当な関数はないのかな?
167 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 04:12:46 ] >>166 つio_lib:format まあ、Erlangのライブラリってどこに何があるか分かりにくいよね。 文字列の大文字小文字変換(to_upper, to_lower)が httpd_util なんてところにあったり。
168 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 12:13:49 ] ぐぁ、予想外というか、完全に盲点だった>>167 stringあたりを探してたですよ。感謝。
169 名前:デフォルトの名無しさん [2007/05/05(土) 16:21:36 ] javaには勝てねぇよw
170 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 02:31:19 ] Erlangで書かれたCometなチャット blog.mikage.to/mika/2007/05/erlangcomet_5353.html
171 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 09:53:03 ] >>170 いいね。 高度な要求をすれば、 ・-behaviour(gen_server). を使ってほしい ・process dictionaryよりもmnesiaとかにデータを保管してほしい ってところだな。口だけクンですまん。
172 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 11:16:14 ] それは(Erlang的には)高度ではなく、わりと基本的な要求だと思う。
173 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 21:08:31 ] で、言語仕様か実装の国際化対応がグダグダなために結局日本では流行りそうにないという 多くの関数型言語と同じ道をたどる悪寒はない?
174 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:51:59 ] >>173 既にそうなってます。 つかutf-8->UCS4のマッピングだけでいいから裸の一文字を一文字で認識してホスィ
175 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 08:12:19 ] 確かに、バイトのリストと文字のリストは区別してほしいな
176 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:48:10 ] この辺気になる。 mono.kmc.gr.jp/~yhara/d/?date=20070505 SDLつかってげーむつくれんのかねぇ。ねぇ
177 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 03:45:23 ] ErlangはWindows対応が雑だよ。HiPEもSMPサポートもないし。 俺もiconv動かせなくて困ってる。
178 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 20:55:33 ] 亀だが、>>174 それを実現するにはどうすればいいと思う? ↓な案を考えてみたんだが、おまいらの意見を聞かせて欲しい。 (と、えらそーなことを言いつつerlang初心者なのだが) ■コンパイラ編 ソースの先頭に、 -encoding(utf8). があると、UTF-8文字1文字をlistの要素1個として扱う。(とりあえずはutf8だけサポート) compile.erlで、ファイルから読んできたバイナリをリストに変換するところ (scan_core:string()を読んでるあたり)に小細工すればなんとかなるんじゃないだろか。 ■ライブラリ編 案1 driverなどは基本的にいじらない方向で、driverとお話しする部分でUTF-8⇔UTF-32変換する。 利点: 楽。後方互換性(ぶっちゃけlatin1対応)が維持しやすい。 欠点: Unicodeに対応しないものはずっとそのまま。 案1-A io, io_lib の Unicode 版 uio, uio_lib (仮称)を作る。 案1-B io, io_lib の文字列を受けとるパラメータ部分に、{ustring, USTRING} (仮)を受け付けるようにする。 (ustringは仮のatom、USTRINGはUTF-32で表現される文字列) 案2 IoDeviceにencoding属性のようなものを用意する。 利点: 少なくとも入出力については、国際化が容易になる。 欠点: 変更点多過ぎ。また、io_libのようにIoDeviceに結び付いていないものは後方互換性の維持が困難。 とりあえず思い付いた範囲はこんなとこ。
179 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 00:57:24 ] 話題になってるからインスコしてみたらwindowsだと-smpつかえないじゃん。 んだそれ。
180 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 01:42:43 ] Windowsなんて使ってるやつはばかです
181 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 02:45:29 ] Linuxなんて使ってるやつはもっとばかです
182 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 10:48:36 ] Solaris最高
183 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 21:18:53 ] -smp 使えないなら、CPU の数だけノードを立ち上げれば良いんだよ。
184 名前:デフォルトの名無しさん [2007/05/27(日) 13:03:38 ] あげ
185 名前:デフォルトの名無しさん [2007/06/05(火) 18:43:39 ] ager
186 名前:デフォルトの名無しさん [2007/06/05(火) 23:08:45 ] これ、コンパイルして単体実行とかも出来るの? perlやphpみたいにランタイムが必要なら、こんなマイナーな言語、サポートしてる鯖が少なすぎだろ。
187 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 23:31:39 ] >>186 サポートってなんだよ。 誰に期待してんだ?
188 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 00:26:29 ] レンタルサーバの話でもしてんのかな
189 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 00:30:16 ] 趣味のレンサバだったら自分でバイナリインスコ出来る所は幾らでもあるでしょ。
190 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 00:43:01 ] 多数のプロセッサを使って並列実行するのがおいしいErlangをレンタルサーバで? そんな鯖借りれるのか?クアッドコア×4とか使ってみてぇ
191 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 01:38:10 ] 別にリソースが貧弱な環境で動かしていけない訳でもあるまい。 実行環境がしょぼくても、並列処理を書き易いのは充分メリットなんじゃないの。
192 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 01:43:24 ] コンパイラはあるぞ。 ただし、それが実行形式のファイルってわけではなく、あくまで動作環境の整備は必要。 個人に配布するとかになると、ユーザーに環境を入れてもらうと言う不便さはある。 その辺もう少しうまい事出来ないものかな。 bittorrentとか、今流行のp2pツールとかだと、結構威力を発揮しそうなのに・・・
193 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 14:23:19 ] >>191 いけなかないがメリットがわかんね 使えるリソースがないのに並行プログラミングする理由は? 趣味なら全然ありだが>186はそういうことじゃないよね
194 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 14:27:19 ] 組み込みとかだとスレッドのオーバーヘッドだけでも無駄すぎ
195 名前:<> mailto:sage [2007/06/06(水) 21:10:10 ] EricssonのATMスイッチがErlangで書かれていたりするので 性能が悪いというわけではない。
196 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 21:32:23 ] >>186 のどこら辺から趣味じゃないって読み取れるのか分からんが、 パラレルに書いた方が書き易い処理だったら、それで充分理由になるだろ。
197 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 00:44:42 ] >>196 趣味でサポートしてる鯖を気にするとは想像が及ばなかったよ
198 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 00:49:41 ] サポートってランタイムがプリインストールされているって意味で書いてるんでしょ。 それも想像が及ばなかった?
199 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 01:01:35 ] 趣味で使うなら自分でインストールすりゃいいんじゃねーの? だから微塵も想像しなかったな つかどーゆー趣味だよ?w
200 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 01:14:17 ] そろそろレスすんの面倒くさくなってきた。 普通のレンサバは自分でインスコ出来ないのも多いよ。 想像が及ばなかったのかもしれんけどさ。
201 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 01:17:03 ] 趣味でレンタル鯖でErlangてのが全く想像できなかったんだよ 今も何がしたいのか想像つかないけどな。もーいーだろ
202 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 01:18:35 ] レン鯖でマイナー言語使えないなんて文句言っても・・・
203 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 02:45:00 ] どう考えても、趣味でレン鯖で使いたいが 一般的なレン鯖では、自分で環境をインストール出来ない事も多い。 だから、コンパイルしてネイティブとして動かせないか?って話だろ。
204 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 03:10:45 ] なんで必死になってるの?
205 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 03:14:53 ] どっちが必死になってることやら・・・ 何度も指摘されてるんだから、そのまま流すか認めりゃいいのに・・・ 他人の話なんだし、必死で否定する意味がわからん。 苦しい言い訳っつーか、何でそこまで言い訳するのかがわからん。 それともErlangを普及させたくないから妨害工作か? おもっくそ使わせたくない雰囲気がプンプンする
206 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 03:17:01 ] 俺これが3レス目だが・・・ >そのまま流すか これを自分には適用しないで人にだけ求めてるのが滑稽すぎるw しかも工作とか言い出したよw
207 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 03:23:39 ] とりあえずウザイ 不毛な煽りがやりたいなら来るなよ。それだけ無益な書き込みしてりゃあ、立派な工作員だよ
208 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 03:24:31 ] おまえが言うなw
209 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 03:43:52 ] 俺は>>192 しか書き込んでないわけだが・・・
210 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 03:45:54 ] もうほっとけって そいつは、エリクソンとか大企業のシステム以外の一般向けのシステムで使われると何か困る事情があるんだよ。 smpが効率的に活用できる事だけが、Erlangのプロセスの利点だと主張して普及を潰したいんだろ。
211 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 03:51:06 ] 凄い妄想力
212 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 03:57:43 ] 本人登場w (なぜ本人といえるかは少し考えればわかる)
213 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 04:01:30 ] で、何がしたいのさ
214 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 04:04:28 ] こんな過疎スレ荒らしに来て何が楽しいんだろうな('A`)
215 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 04:46:14 ] 伸びてると思ったらこのザマ
216 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 06:55:39 ] 被害妄想で架空の工作員とか設定しだすとろくなことがないよ。
217 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 12:01:58 ] このスレが勢い良いのって、こんな流れのときだけだな。
218 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 12:14:04 ] この板の大半のスレッドがそうだろう
219 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 21:20:09 ] レン鯖でコンパイルして動かしたってせいぜいCGIとしてくらいしか無理じゃね? それじゃErlangの甲斐がない。
220 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 22:15:51 ] 俺はcgiとしても動かしたいけどなぁ あのerlangのプロセス使い捨て開発技法は惚れた。
221 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 22:54:10 ] 甲斐なんて無くて良い 甲斐がある所でしか使いたくないという気持ちが理解出来ん 何にでも使ったらええよ
222 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 00:33:36 ] 自分ちのマシンで存分にやりゃいいじゃん
223 名前:デフォルトの名無しさん [2007/06/13(水) 12:42:07 ] よい情報 www.kmonos.net/alang/etc/erlang.php
224 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 15:04:35 ] >>11
225 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 22:00:27 ] 勉強会なんてあるんだね ttp://wiki.fdiary.net/erlang/
226 名前:デフォルトの名無しさん [2007/06/28(木) 02:04:52 ] >>222 同意 どれだけ貧乏な奴なんだと呆れ返った
227 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 23:10:54 ] 松本が日経ソフトウエアで次に来るぜみたいなこと言ってたけどあまりにもマイナー過ぎる件
228 名前:デフォルトの名無しさん [2007/07/10(火) 23:39:10 ] キミがマイナーだと感じるスレッショルドは アンテナの高い開発者にとってはバズワードな件
229 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 00:58:56 ] これはバズワードの典型ですな>「まつもと」
230 名前:デフォルトの名無しさん [2007/08/31(金) 18:51:51 ] あげろよ・・・
231 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 19:06:03 ] すっかり飽きられた感があるな
232 名前:char mailto:sage [2007/08/31(金) 19:27:49 ] まだだ、まだ終わらんよ!
233 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 08:51:23 ] あまりにも短いブーム
234 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 09:08:49 ] Programming Erlang読んでるがな
235 名前:デフォルトの名無しさん [2007/09/29(土) 22:27:42 ] >>231 > すっかり飽きられた感があるな × 飽きられた ○ 食い散らかし連中には難し過ぎて分からなかった
236 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 08:22:39 ] Programming Erlangはつまらなかった つまらない言語は使い物になる ということなのかもしれない
237 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 05:19:29 ] 柏原 正三『プログラミング言語Erlang入門』 ttp://www.amazon.co.jp/dp/4756150705/ 『Programming Erlang』に手が出せなかった人には朗報か この著者ってC/C++/Javaの本でよく見かけるから 保守的なイメージあったんだけど こういう人がErlangの本出すっていうのは少し意外
238 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 08:10:07 ] Erlangって保守的な気がするけど。
239 名前:デフォルトの名無しさん [2007/11/26(月) 17:36:37 ] Ocamlよりもおもしろそうだね。 ちょっと>>11 をみたけど、 ;;よりも.の方が個人的にしっくりくる。
240 名前:デフォルトの名無しさん [2007/11/27(火) 07:46:46 ] そんな部分で決めるのですかよ
241 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 07:53:01 ] OCaml が嫌いな人はあの変態表記を受け入れられない人が多いんじゃないかな Perl に対する嫌悪感に似ているかも
242 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 00:47:30 ] 大抵の言語には得意な応用があるから、適材適所でいいんじゃね? と言っても沢山覚えるのも面倒なんで、互いに補完しあうように4、5つくらいあれば良い。 Erlangで感動した例は、他の言語だったら巨大配列を使うような応用を、大量のプロセス生成でこなしたやつ。
243 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 00:51:03 ] >>242 >大量のプロセス生成 文字で見ただけで頭が痛くなる。 icsw, icsw, icsw...
244 名前:デフォルトの名無しさん [2007/11/29(木) 06:16:33 ] ところで、論理型で並列な言語ってあるの?
245 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 07:07:17 ] Concurrent Prolog Guarded Horn Clauses (GHC/KL1/KLIC)
246 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 07:19:09 ] >>244 織田信長 pc11.2ch.net/test/read.cgi/tech/1047230229/l50
247 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 08:27:35 ] >>245 、>>246 レスどうも。織田信長とは面白い名前ですね。
248 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 08:40:16 ] >>244 Erlang 的なものとしては Oz (mozart)がある。
249 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 09:51:41 ] >>244 Parlogってのもある。
250 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 13:10:19 ] >>244 FLENG PANDRA P-Prolog
251 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 13:33:47 ] へーいろいろあるんですね。 いつも思うんですが、そういう変わった言語 のコンパイラ作れる人ってすごいですよね。
252 名前:デフォルトの名無しさん [2007/11/29(木) 17:47:41 ] >>251 プログラミング研究なんかで、実験的に仕様の小さい言語を作る場合だったら yaccなんかのパーサ生成ツール+諸々で済ますことも有る。
253 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 22:36:49 ] なるほど、関数型言語や論理型言語もyaccでいけるわけですね。
254 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 23:04:18 ] >>253 パーサはな!
255 名前:デフォルトの名無しさん [2007/12/01(土) 13:51:03 ] ブーム復活!!!!!!!!!!!!!! www.thinkit.co.jp/free/article/0711/4/4/
256 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 17:51:41 ] ↑ そのページ分かりにくい
257 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 19:30:14 ] 公式のチュートリアルいいよ Erlangはライブラリも結構揃ってるし あとはマルチバイト文字さえ簡単に扱えれば・・・
258 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 05:56:15 ] プログラミング言語Erlang入門ゲット。
259 名前:デフォルトの名無しさん [2007/12/05(水) 08:16:01 ] 分かりやすい?
260 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 22:21:48 ] HaskellといいOcamlといいErlangといい、マルチバイト文字をまともに食える 処理系が存在しない限り日本でのブレイクなんて絶対にあり得ないのに 性懲りも無く火をつけようとする人が後を絶たんなぁ。
261 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 23:33:59 ] 文字列なんて単なる Byte の Vector だから、処理系が駄目でも ライブラリレベルで解決出来るでしょ。と言いつつ、俺は日本語が 通る様に自分で処理系を直して使ってるけど…
262 名前:デフォルトの名無しさん [2007/12/05(水) 23:36:43 ] >>260 Haskellはもう既に解決済みですが。ざんねん。
263 名前:デフォルトの名無しさん [2007/12/05(水) 23:51:52 ] >>260 別に、メッセージで扱うぐらいだったら、 別途ファイルから引っ張ってくるようにしとけば、別に マルチバイトうんぬん関係ないと思ってるんだが・・・・ なんか本質的な問題でも含んでる?
264 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 00:04:07 ] リテラルでソースコード中に記述した日本語文字列が きちんと日本語として扱える処理系が欲しいという事 なんじゃないかな。length("日本語") が 3 を返す様な。
265 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 00:34:48 ] Erlang/OTP R12B released ttp://www.erlang.org/doc/highlights.html The Erlang/OTP team is proud to announce the release of Erlang/OTP R12B, now with SMP support for Windows and the language extensions: bitstring and binary comprehensions. (Dec 5, 2007) bit string, and binary comprehensions: ttp://www.erlang.org/doc/reference_manual/expressions.html#6.16 ttp://www.erlang.org/doc/reference_manual/expressions.html#6.23
266 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 00:39:02 ] ttp://www.erlang.org/doc/programming_examples/bit_syntax.html#4
267 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 15:03:38 ] >>264 ソースコードに日本語を書くやつはバカです
268 名前:デフォルトの名無しさん [2007/12/06(木) 17:17:22 ] >>267 つ バカ言語「ひまわり」
269 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 18:15:52 ] >>267 なんだそりゃ?
270 名前:デフォルトの名無しさん mailto:sage [2007/12/06(木) 18:20:27 ] ソースコードに日本語書いて何が悪いんだ 日本人にとって日本語は便利だぞ
271 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 07:35:55 ] >>270 > ソースコードに日本語書いて何が悪いんだ 頭
272 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 07:54:00 ] >>271 そりゃ君
273 名前:デフォルトの名無しさん mailto:sage [2007/12/07(金) 12:14:33 ] >>271 かのファインマンだって日本語習得は断念したほど難しいんだぜ
274 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 01:43:00 ] >>270 >>267 は日本語を扱えないコンパイラが多かった時代の技術者か、 外国人も参加しているオープンソースプロジェクトのコミッタか、 そのどちらか
275 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 05:17:50 ] >>274 今でも、日本語混ぜてねぇ・・・・とか思うんだが どうせソース読むのは英語も曲がりなりにでも読めるようなやつらばっかっしょ。 メッセージ分離がいいと常から思う身としては、>>267 に同意してしまう。 変数、関数名とかまで日本語サポートしてるなら むしろ、ガンガン日本語で行って見ても面白いかも。とかとも思ってるけどねw
276 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 14:00:55 ] でもリテラルに日本語を書いてはいけない事について 説得力ある説明は出来ないんでしょ? それならただ単にバカと言いたいだけと思われても 仕方がないよ。
277 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 14:10:07 ] 特に REPL がある言語で、対話的にコードを入力する場合は、 メッセージ分離なんて考えずに、生の日本語文字列を直接入力 したくなるのは当然じゃないかな。
278 名前:デフォルトの名無しさん [2007/12/08(土) 17:05:35 ] Erlangがマルチバイト文字をサポートしていない理由は、その出自にあると聞いた事がある。 もともとエリクソンで通信インフラ用言語と開発された際に、超高速のプロセス生成、強力な 並列処理のトレードオフとして、データを「どこの国の言語で書かれた文章」かを判別しない、 としたとの事。 一般アプリを書く者として、Erlang使うなら日本語処理ライブラリが欲しい、というのは同意。
279 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 17:32:43 ] ↓を思い出した -- オープンソースのイベントで、 質問者「オープンソースは英語が使えないとなかなか使えないところがありますが」 壇上者「いえ、日本人は英語が使えないと言われていますが、そんな事はありません。 その使う気があれば、だれでも英語の掲示板でも普通に会話できるので問題 にはなりません」 質問者「そうですか……ありがとうございました(T_T)」 というのも言葉の壁だね。
280 名前:デフォルトの名無しさん [2007/12/08(土) 18:18:40 ] おもしろい。
281 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 18:49:32 ] >>279 ある意味真実だろ。 なんで完璧な言葉でないとダメだと思い込むのか不思議でしょうがないと感じる事あるんだけどなぁ。 支那やインドから来日したエンジニアが完璧な日本(英)語話したりしないのを微笑ましく思うのに自分等が英語での会話に完璧な表現力を必須としたがるんだか。 #完璧じゃなきゃ困るのは契約書だけだぜ
282 名前:デフォルトの名無しさん [2007/12/08(土) 19:18:47 ] 281は279に書かれたやりとりが通じていないのではないか?
283 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 19:54:54 ] >>282 エリートの傲慢ってやつだろ。
284 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 20:04:08 ] 壇上者は、エリートの傲慢だと思ってしまうのは卑屈すぎるって 言いたかったんだろうね。俺もそう思う。
285 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 22:15:05 ] >>284 は典型的なエリートの傲慢の誇示
286 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 22:23:39 ] 本当のエリートの傲慢はこんな感じだぜ。 壇上者「いえ、あなたが英語を使えないのは分かっていますが、それだけではありません。 その気があれば、誰だって英語で普通に会話出来るのに、その事にすら気付いてないのが 問題です。あなたはいつも大切な事を見逃しますね。ふふん。」
287 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 22:26:39 ] とフランス語で語るのである。 イヤミのキャラが「おフランス」と言いながら一人称がmeなのをが面白い事がわかったのは中学に入ってから。
288 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 22:57:24 ] で、Erlangの話はどうなったのさ 次のリリースではiconv同梱にしてワイドキャラクタ用関数実装とかしてくれたらなあ 遊びで使ってるユーザが自分でやるにはちと荷が重い
289 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 23:12:15 ] どっかのblogで本が取り上げられたからお客さんが増えるかな・・・
290 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 23:56:28 ] 日本語が読めない人が読むコードのコメントに日本語で書くやつはバカ 英語が不自由な人が読むコードのコメントに英語で書くやつはバカ
291 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 00:55:22 ] >>290 割と柔軟だなw
292 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 13:55:16 ] コメントを書かなければ何語に不自由な人に読まれても大丈夫
293 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 01:56:47 ] >>279 腐ったインターフェイスのアプリでも我慢して使えって話をされているような・・・
294 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 07:23:48 ] 間違った英語でグダグダ書くヤツは大馬鹿
295 名前:デフォルトの名無しさん [2007/12/28(金) 11:48:27 ] age
296 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 08:25:16 ] ニュース貼っときます。 Amazonが、Erlangで動作する,オンラインDBサービス「Amazon SimpleDB」の限定ベータ提供を開始 Amazon,オンラインDBサービス「Amazon SimpleDB」の限定ベータ提供を開始 itpro.nikkeibp.co.jp/article/NEWS/20071217/289576/ AmazonのSimpleDBとIBMのBlue CloudがCloud Computingの発展を促す www.infoq.com/jp/news/2007/12/simpledb Amazon SimpleDB - Limited Beta www.amazon.com/b?ie=UTF8&node=342335011 What You Need To Know About Amazon SimpleDB www.satine.org/archives/2007/12/13/amazon-simpledb/
297 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 18:05:44 ] コメント書かないとわからないコードを書くヤツは馬鹿です。 コメント書いてもらわないとコードが読めないヤツも馬鹿です。
298 名前:デフォルトの名無しさん [2008/01/12(土) 15:08:37 ] IDEが来ますぞ www.infoq.com/jp/news/2008/01/erlang-ide
299 名前:デフォルトの名無しさん [2008/01/21(月) 16:26:21 ] Erlangの本買ったよage
300 名前:デフォルトの名無しさん [2008/02/02(土) 22:16:27 ] Erlangは出来る子なの?
301 名前:デフォルトの名無しさん [2008/02/04(月) 18:25:08 ] 出来ることを期待されている子だ
302 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 09:37:36 ] Ericsson内で十分実績あるだろ?
303 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 14:47:13 ] JavaScriptを並列処理言語Erlangへコンパイルする"ErlyJS"とは journal.mycom.co.jp/news/2008/02/07/010/index.html > ErlyJSの開発ははじまったばかりだ。今後の展開に注目していきたい。
304 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:39:25 ] Programming Erlang の日本語版もうすぐ出るよ ttp://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06714-3 ・著者:Joe Armstrong 著 榊原一矢 訳 ・定価:4620円(本体4400円+税) ・B5変 480頁 ・ISBN 978-4-274-06714-3 ・発売日:2008/02 章立ては原書と一緒みたいだね
305 名前:デフォルトの名無しさん [2008/02/09(土) 18:11:14 ] >>303 JavaやC#をErlangへコンパイルできるようにならないかな。
306 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:43:41 ] ならないかな ← してみよう
307 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 00:49:35 ] >>305 Java を Erlang VM で動かしたいという事なら、逆の方が良いんじゃないかな…
308 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 22:45:24 ] ここは質問 Ok なんすかね? 最近かじってるんですが、 erlang って prolog に似てるけど prolog と違って先行評価ですよね。 ということは差分リストとかは使えない、ということでしょうか? 例えば X = [1,2,3 | Y]. などとした場合、Y が未束縛だとエラーになってしまいます。 つか、先行評価なら Lisp の quote みたく評価を回避する手がありそうですが 見つけられませんでした。
309 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 02:11:19 ] > X = [1,2,3 | Y]. 何がしたいのかをもうちょっと具体的に書いてくれると、 何か教えることができるかもしれない。
310 名前:308 mailto:sage [2008/02/13(水) 21:54:43 ] レスが遅れてすんません。平日は時間が取れなくて。 >>309 何がしたいとかではなくて、Prolog の本には必ず出てくる「差分リスト」という データ構造が Erlang で使えるのかどうか気になっただけです。 差分リストは Prolog では常套的な手法なんですが、これが使えないと実現できない機能が あるということもないので、使えないからダメとかいう問題ではありません。 差分リストを説明するのはちょっと難しいので省略します。私も Prolog が得意なわけじゃないのでw
311 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 14:42:44 ] >>304 d。この出版待ってた。
312 名前:デフォルトの名無しさん [2008/02/19(火) 21:37:20 ] これでDB組んだらすげぇ並列になるのか?
313 名前:デフォルトの名無しさん [2008/02/20(水) 02:22:38 ] >>310 亀レスだがもう見てないかな? 遅延評価は、以下のようにclosureを使えば出来る。 ttp://d.hatena.ne.jp/sfujiwara/20070513/1179067776 ただし、差分リスト実装のためには、データフロー変数が必要かと。 Oz言語での例は、以下の通称ガウディ本にあり。 『コンピュータプログラミングの概念・技法・モデル』 (Concepts, Techniques, and Models of Computer Programming)
314 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 11:07:18 ] >>312 IOが超ボトルネック
315 名前:310 mailto:sage [2008/02/20(水) 22:24:42 ] >>313 時々は見てます。クロージャで包んで遅延評価ですか、ナルホド。 私が意図したものとは違うけど、ちょっと面白いですね。 大モトのブログの記事を読むと、たらい回しプログラムは遅延評価が特に 必要というわけではないのに (もともと意味のない処理みたいだけどw) あえて クロージャにする意図は実行効率にあるようで、その辺も興味深いです。 それと、ガウディ本の存在は知ってましたが分厚いので今まで敬遠してました。 Oz も どうせ Yet Another なハイブリッド言語だろうくらいにしか思って なかったのですが、この辺見るとなかなか侮れない感じですね。 www.ueda.info.waseda.ac.jp/~takagi/seminars/plfda.html ガウディ本、読んでみます。有難うございました。
316 名前:310 [2008/02/25(月) 22:00:56 ] ワタシの書込み以降、過疎ってるので age で賑やかしに。 >>304 の人が書かれてた「プログラミング Erlang」日本語版、Amazon から届きました。 まだパラパラとめくっただけだけど、やっぱエリクソンで長年使われただけあって ライブラリやフレームワークが揃ってる感じで、関数型言語としては業務システムの 記述に広く使われ得る第一候補の言語と期待されるのも分かる気がします。 はっきり言って Erlang って言語オタクな人にとっては簡単すぎてつまらないと 思われがちかもですが、この言語のポテンシャルは別のところにあるんですね。 >>312 >>314 なんか Mnesia という専用の DBMS があるみたいですね。 耐負荷性とかはまだ分からないけど。
317 名前:デフォルトの名無しさん [2008/03/12(水) 13:32:12 ] >>316 > なんか Mnesia という専用の DBMS があるみたいですね。 参考に、Erlang で実装されたJabberサーバーで、Mnesia データーベースを 使用してデータの冗長化を行うことが出来る、との事。 ttp://dsas.blog.klab.org/archives/51145655.html
318 名前:デフォルトの名無しさん [2008/03/12(水) 13:58:38 ] >>315 スレチかもしれないけど、ガウディ本の英語版PDFは以下で入手可能。 ("Concepts, Techniques, and Models of Computer Programming pdf"で検索した) ttp://www.google.co.jp/url?sa=t&ct=res&cd=1&url=http%3A%2F%2Fwww.ulb.ac.be%2Fdi%2Frwuyts%2FINFO020_2003%2FvanRoyHaridi2003-book.pdf&ei=oF_XR8SbNIfeswLmmIWKAw&usg=AFQjCNHG39GPWGo9Pq2gI1K35gW4a6FK2g&sig2=3hkiUJLJqfBGOCsGilscMg ただし、計算モデルという考え方にまだ馴染みが無い方には日本語版がお薦め。 日本語版の本と、英語版PDFとを併読したら理解し易いと思う。
319 名前:デフォルトの名無しさん [2008/03/14(金) 11:00:15 ] まつもとゆきひろ氏が、Erlangに言及している部分。 まつもとゆきひろ×小飼弾対談 生き残るエンジニアとは? www.atmarkit.co.jp/news/200803/13/survive.html Q:いま注目している言語があるか? A:日本語。英語以外でコンピューサイエンスを学べる日本は世界でもレアな国。 20年後、Rubyを学ぶ際に英語を学ばないとRubyを学べない時代がくるかも しれないという心配がある Ruby以外ではErlangなど。なぜErlangか。将来のマルチコアに対応するには、 いまのスレッドモデルでは限界がある。Erlangのプロセスモデル/アクター モデルというのは、その答えになるかもしれない。Rubyのようなプログラムに Erlangの機能を組み込むことを考えている。
320 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 11:28:30 ] 聞き飽きたぜ
321 名前:デフォルトの名無しさん [2008/03/14(金) 23:27:14 ] GUIライブラリとかってある?
322 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 23:37:08 ] >>321 www.erlang.org/doc/apps/gs/index.html
323 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:16:26 ] 質問があります。 Erlangを覚えようと思うんですけど、手続き型言語しか使えません。 Lispを覚えてから学ぶべきですか?
324 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:21:02 ] >>323 それはオススメできません Erlangに行く前にLispだけで一生が終わってしまいそうです なので出回ってる書籍や公式のチュートリアルで勉強して 分からないところをこのスレで聞いたらみんなが幸せになれると思います
325 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:35:15 ] >>324 遅レスですが、ありがとうございます。
326 名前:デフォルトの名無しさん [2008/03/17(月) 21:41:15 ] すぐ真上のレスに遅レスはないだろう。。
327 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 06:24:58 ] まぁ、当事者のリアルタイムの感覚がそのまま出たんだろう。 5分後にレスもらってたのに、つい2時間も放置しちゃって・・・、みたいな。
328 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 21:11:48 ] 質問があります。 以下のコードをターミナルで動かしても問題ないのですが、Eclipseで動かすと良くわからないエラーがでます。 -module(receiver). -export([receiver/0]). receiver() -> receive Msg -> io:format("~necho: ~p",[Msg]), receiver() end. これを Pid = spawn(receiver,receiver,[]) とやると、 {get_geometry,columns} =INFO REPORT==== 26-Mar-2008::20:58:06 === erlide_reshd:handle_io_request: Unexpected IORequest:{get_geometry,columns} {requests,[{put_chars,#Bin<3>},{put_chars,#Bin<60>},{put_chars," "}]} =INFO REPORT==== 26-Mar-2008::20:58:06 === erlide_reshd:handle_io_request: Unexpected IORequest:{requests, [{put_chars,<<"** ">>}, {put_chars, <<"exception error: no match of right hand side value <0.908.0>">>}, {put_chars,"n"}]} というエラーが発生します。 昨日勉強を始めたばかりの初心者なので、簡単に教えて頂けませんでしょうか? よろしくお願いします。
329 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 23:33:26 ] erlideは触ったことないけど、これかな? ttp://www.erlang.org/pipermail/erlang-bugs/2007-December/000553.html いずれにしても、最初のうちは統合環境を使わないほうがいいと思います。
330 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 00:05:45 ] >>329 詳しくないんですが、確かにioの可能性がありますね。 Errorもそんなこと言ってますし。 とりあえず確認したところ、Eclipseでのコーディングには問題がないので、 それをコンパイルして、beamファイルのある場所でErlangをターミナルから使うってのが 一番手っ取り早かったです。 他の言語はいくつか使えるんで、いきなりIDEを使ってたんですけど、 やっぱりセオリー通り、普通のエディタで書くべきかもしれないですね。 ありがとうございました。 原因や解決方法が分かったらまた書き込んでおきます。
331 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 05:11:08 ] セオリーは「いきなりIDEを使わない」ではなく「いきなり完成度の低いツールを使わない」だ。 完成度の高いIDEならいきなり使っていい。
332 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 22:12:08 ] Erlangで作ったプログラムを配布する場合、単独のexe形式にできますか?
333 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 00:59:21 ] Erlangがインストールされてないマシンで動かせるかってこと? もしそうだとしたら、無理だと思う。
334 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 07:54:34 ] >>333 回答ありがとうございます。 無理ですか。残念。 他の言語を検討してみます。
335 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:14:47 ] 「小飼弾のアルファギークに逢ってきた」っていう本に Dave ThomasがErlangの本を書いているって書いてあったんだけど 詳細が分かる人いますか? 07年7月に出版予定とか書いてあったけど、どうもAmazonの洋書でそれらしいものがない。
336 名前:デフォルトの名無しさん [2008/04/21(月) 23:36:22 ] だんに聞けば分かるんじゃね?
337 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:14:55 ] Erlangの.beamファイルって、違うマシンでも動くの? .erlをコピー、コンパイル、起動ではなく .beamをコピー、起動とできるかということです。
338 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 20:11:03 ] >>335 それはdaveが書いた本じゃない。 programmers bookshelf というところ(daveがからんでいる) からもう出版されてる。 日本語訳もでたよ。
339 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:18:29 ] プログラミングErlangのp.345の lib_chan_auth の中で使われてる lib_md5って本に載ってないみたいだね。 親切な人が書いてくれたみたい(Mac FireFoxじゃ見れなかった)。 forums.pragprog.com/forums/27/topics/239
340 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 20:21:38 ] ちゃんと勉強してるやつがいることに驚いた。 このスレは基本的にwikipedia的な情報についてばかり議論してるからなwwww
341 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 23:02:30 ] erlangのライブラリのリファレンスってどこにあんの? 公式にあるかと思ったら見つかんね
342 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:43:11 ] www.erlang.org/doc/
343 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 08:51:20 ] ありがとう!
344 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 14:20:31 ] 質問です。 「プログラミングErlang」のp.203にある関数 lib_misc:string2value(Str) の実装が載っておりません。ググってもでてこなかったです。 機能としては、 "list_to_tuple([2+3*4 , 10+20])" という文字列を渡して、この命令をさせるものです。 結果は {14,30} と今回はなります。 これはどのように実装するべきでしょうか? 文字列処理からapply()を適用することが思い浮かんだのですが、 私の技量では無理そうです。 お助け下さい。よろしくお願いします。
345 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 07:31:42 ] Erlangはド素人。レス入れるのも恥ずかしいが、 使ったことあるモジュールを組み合わせると、 test(Str) -> {ok,Ts,E} = erl_scan:string(lists:append(Str,".")), {ok,P} = erl_parse:parse_exprs(Ts), P. までは来る。ヒントにならないかなぁ。
346 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 21:43:07 ] 本家サイトに本に載ってないソースがありました。 その中に、これも含まれているようでした。 >>345 それは便利そうですね。 簡単に試してみたのですが、別の用途に使えそうです。 ただ、今回の処理にはちょっと不向きっぽいかもしれませんな。 ありがとうございました。
347 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 05:39:41 ] >>346 ソースコードたしかにありました。これはどういう意味なのですか。 Bindings = erl_eval:new_bindings(),
348 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 06:07:31 ] >>346 string2value/1 は parse + eval なのですね。私は向井さんのPDFで ソケットの読み書きの部分だけ切り取って使ってしまってソースの細部は 全然勉強していませんでした。Prologで共用データベースとしての Prologサーバと通信しながら運用しているので、Erlangとも同レベルで と思ってはいたのですが、この部分が分からず放ってありました。 一挙に解決しました。ありがとうございます。
349 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 06:42:27 ] 質問です。論理変数を持つPrologではサーバーとの交信は 1)クライアント側でQuery P (論理変数を引数に持つ)を一旦文字列化して 2)サーバに送信。 3)サーバは文字列を受信したら、これを parseして P1 を構成。 4)これを call(P1) した後、 5)P1 を文字列化して 6)クライアントに返信。 7)クライアントは受信した文字列をparseしてP2を作り、 8)P と P2 を単一化する。これで論理変数に解が得られます。 エラー時のexception処理などを無視して書きましたが、大体このように進みます。 関数型、ここでは、Erlangですが、典型的なハンドリングを教えてください。
350 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 08:22:43 ] >>347 俺も初心者だから良く分からんけど、本家マニュアルによると bindings(BindingStruct) -> Bindings Returns the list of bindings contained in the binding structure. binding(Name, BindingStruct) -> Binding Returns the binding of Name in BindingStruct ってなってるね。 たぶん、bindingsで返したものに、どんどん新しい値を加えていくような感じなんじゃない? erl_scanのほうは分解するみたいですね。こっちのほうが使えそう。 >>349 client(引数) -> 送りたいデータを作成 送り先PID = spawn(送り先。この場合はserver関数), 送り先PID ! {自分のPID , 送りたいデータ}, receive %serverからの返信を受けるため {送り先のPID, 受け取りDataタイプ} -> 受け取ったデータの処理 end. server(引数) -> receive {clientのPID, 送られたData} -> 送られたDataの加工, clientのPID ! {serverのPID, 送るデータ} end. 今手元に資料が無いんで、間違ってるかもしれん。自分自身のPIDを相手に送って、返信先を教えるっぽいね。
351 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 08:28:50 ] >>350 に訂正 よく説明読むと>>347 へのレスは間違いっぽい。 どっちもBindingStructから値を取り出すためのものみたいだね。 上はlistで、下はkeyでvalueを指定するようなもんか? 夜試してみます。 まず、Bindingが何なのかが良く分からん。 理解してないのに適当なこと言ってスマソ
352 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 18:01:52 ] register(atom,Pid) って、Pidが自分のノードの物じゃないときは無理?
353 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 07:14:39 ] >>349 サーバーが返すのはPではなく評価値ということになるが 7) のP2のところを V = に値を保持すると置き換え 8) の単一化を削ると 関数型もまったく同じではないだろうか。Vに値を保持できないと 論理型に比べて使い勝手少々悪いのかな。
354 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 09:43:17 ] プログラミングErlangの中盤のコードって難しすぎるよな。 IRCLiteとか関連する章を含めたら、あきらかに初心者向けの量じゃない。
355 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 17:08:23 ] リファレンスマニュアルと平行してやらないと無理だよ。 あの本は「載ってないとこは調べろ」みたいなことが書いてあるじゃん。
356 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 00:53:33 ] webページ作ったから、よかったら利用してみて下さい。 erlangworld.web.fc2.com/
357 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 00:55:59 ] >>356 やるじゃん
358 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 00:56:26 ] >>356 これはいい感じ。プログラミングErlangとあわせて読むか
359 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 00:58:23 ] あれ?Erlangのwikiってなかったっけ?
360 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 01:01:58 ] 乙。しかし、charset位は指定して欲しい。 古くさいブラウザは自動認識してくれなかったりするのよ。
361 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 01:15:07 ] 文字コード直した。 とりあえず、Erlang信者を増やすことが俺の宿命。
362 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 01:30:43 ] あんまり気負うとつかれちゃうからまったりいこうぜ
363 名前:デフォルトの名無しさん [2008/05/15(木) 02:08:21 ] サンプルプログラムが多いから分かりやすいな。
364 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 20:33:16 ] >>361 arigato. 文体が平易なのがいいね。ちょっと勉強してみるよ。
365 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 23:10:42 ] 早速こけたので報告。 Mac OS X 10.5.2 Intel MacBookPro .configureでエラー Odbc : ODBC library - link check failed ./configure --enable-darwin-64bit --with-gd=/usr/local でOK。そういや64bitでした。
366 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 23:58:35 ] >>356 chapter4ってリンク切れしてるけど仕様?
367 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 00:37:16 ] まだ作ってない。スマソ もともとテンプレートをBIFの章のコピペで作ったんだけど、 構成変えちゃったからリンク切れになってる。 >>365 そういうのはすごい助かる。 更新の時に役に立つ情報は加えておくよ。 ありがとう。
368 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 15:10:40 ] いいね。
369 名前:EW”管理”人 [2008/05/17(土) 10:35:57 ] ちょっと質問があるんだけど、 マニュアルの和訳は、直訳がいい? それとも、プログラム解説とか付け足したほうがいいい?
370 名前:EWの人 mailto:sage [2008/05/17(土) 10:39:42 ] 言い忘れましたが、今度からサイトに関することはコテ付きで書き込みます。 そのほうが分かりやすいと思うので。
371 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 11:24:53 ] >>369 わかりにくいところは訳注とかで解説つけるといいんじゃないでしょか
372 名前:EWの人 mailto:sage [2008/05/18(日) 23:39:36 ] ちょっと3日間ぐらい閉めます。 アクセスできると思いますが、サイト構成がぐちゃぐちゃかもしれません
373 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 06:31:56 ] >EWの人 おお、すばらしいですね。 俺は飽きっぽいので翻訳すぐ飽きちゃった。 翻訳とかは結局、個人の力によるところが大きいのが現状だと思います。 EWの人は大きな戦力だと思います。 ぜひ、サイトの運営をながーく続けてください。
374 名前:EWの人 mailto:sage [2008/05/20(火) 10:28:19 ] ありがとうございます。 体裁を整えているのですけど、WindowsのIEだとずれてますね。 友達のを使わせてもらって始めて気が付きました。 FireFoxよりめんどい。
375 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 10:50:54 ] cssでするならもそっと単純なレイアウトにしないとブラウザに因っては血涙でるからねぇ。 ちょくちょく覗かせてもらいますんでがんばってくだされ。
376 名前:EWの人 mailto:sage [2008/05/20(火) 11:44:11 ] 自分の勉強も兼ねて気長にやっていきます。 あと、サイトに変なところ(間違い、分かりにくいところ、レイアウトが壊れてるなど)があったら、 このスレにでも報告してもらえると助かります。 間違いはバザール方式で探したほうが早いですから。
377 名前:EWの人 mailto:sage [2008/05/20(火) 13:09:02 ] トップページのwindows IE google欄を修正しました。
378 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 16:40:36 ] >EWの人 Install Erlangのページにtypo。 Dounloadサイト → Downloadサイト
379 名前:EWの人 mailto:sage [2008/05/20(火) 20:59:54 ] ありがとうございます。 今日、明日と少しやることがあるので、更新は明後日以降になります。 あと、webページ制作に詳しい人にレイアウトのヒントを貰ったので、 少し構成を変えます。
380 名前:EWの人 mailto:sage [2008/05/22(木) 15:56:56 ] 構成を変えました。 menu部分とかは、変更がうざったいからスクリプトで生成するようにしました。 リンク切れ等がありましたら、ご連絡下さい。
381 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 18:02:44 ] >>380 Erlangの勉強を始めたばかりの者です。 とてもいいページですね。 早速勉強がてら、リンク切れ検出をErlangで書いてみようとしました。 HTTP getまではすぐ書けたものの、レスポンスデータから例えば erlangworld.web.fc2.com/ という文字を抜きだすところで方法を模索中。 まだ文字データの扱いをよく理解していないのですが、参考になる情報を ご存知の方が教えて頂けると有難いです。 全体の方針は、 ・erlangworld.web.fc2.com/ 以外で始まるurlについては1次リンクのみチェックする。 (他サイト内のリンク切れまで深追いすると切りが無いので) ・erlangworld.web.fc2.com/ で始まるurl文字列を記憶しておいて 2回目に現れた同一urlから先はチェックしない。 参考にさせて頂いたurl: blog.mikage.to/mika/2007/05/erlang_a3a2.html
382 名前:EWの人 mailto:sage [2008/05/22(木) 19:58:20 ] 利用して頂いてありがとうございます。 たぶん正規表現を使ってurlを抜き出すのでしょうね。 正規表現 url あたりでググったら、urlを抽出するパターンが出てくると思いますよ。 あとはそれをhtmlファイルの各行にマッチさせるのだと思います。 あとは抜き出したurlにアクセスを繰り返すのだと思います。 ただ、並列処理の部分は作り合わせなのでリンクが切れています。 今検索すると、そこばかりが引っかかってしまうかもしれません。
383 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 21:30:28 ] >>382 情報、有り難うございます。 正規表現 url でググったら、perl (まだ使ったことが無い^^;)での例がありました。 perl、正規表現などを基礎から一回やってみた方が良さそうですので、ぼちぼち進めてみます。
384 名前:EWの人 mailto:sage [2008/05/26(月) 20:28:24 ] 今日は予定が開いていたので、少し更新しときました。
385 名前:デフォルトの名無しさん [2008/05/27(火) 23:35:38 ] ブームが去ったのに、ここだけ盛り上がってるな
386 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 00:16:19 ] ブームなんてあったのか!? 流行がどうこうというより、面白い言語だから使うだけさ
387 名前:デフォルトの名無しさん [2008/05/28(水) 00:18:47 ] アーランはツウィッターブームと連動してるんだよ。
388 名前:EWの人 mailto:sage [2008/05/28(水) 23:11:16 ] ちょっと更新しときました。
389 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 18:59:31 ] ちょっと質問です。 1> List = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,......1,2,3,4,5,6,7,8,9,0]. ... 2> io_lib:format('~p',[ List ]). のような例でListの要素が多くその表示文字数が行の限界(80文字か)に 達すると、勝手に、 ,\n 3,\n 4, というように改行を挿入してしまうのですが、 これを抑制する方法はありませんか。
390 名前:EWの人 mailto:sage [2008/05/30(金) 19:50:41 ] ちょっと試してみましたが、io_libを使うと全く違う形で出力されました。 > io_lib:format("~p~n",[List]). [[91, ["1",44,"2",44,"3",44,"4",44,"5",44,"6",44,"7",44,"8",44, "9",44,"0",44,"1",44,"2",44,"3",44|...], 93], "n"] io:formatだとこんな感じになりましたよ。 ~wを使うと表示幅いっぱいに出力されました。 > io:format("~p~n",[List]). [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9, 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9, 0] ok 7> io:format("~w~n",[List]). [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0] ok
391 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 21:13:26 ] >>390 問題は、TCP/IPのハンドリングで tcp_gen:send(Socket,[term_to_list(Reply)]), の場合です。 クライアントがPrologでこの言語で読み取れる 書式に出力したい。 関数term_to_list/1の中で>>389 の io_lib:format/2が使われています。 Replyがリストの場合に(例えばos:cmd("ps -ale") ) のような場合に、 上記の変形がおこり、クライアントのPrologから読み取れなくなります。
392 名前:391 mailto:sage [2008/05/30(金) 21:16:08 ] string:tokens(os:cmd("ps -ale"),[10,13]) のような場合ですね。
393 名前:EWの人 mailto:sage [2008/05/30(金) 22:53:23 ] gen_tcpの関数ですね。 send(Socket, Packet) -> ok | {error, Reason} Types: Socket = socket() Packet = [char()] | binary() このPacketを[char()]、つまりListとしたいのだが、 予想していない変換が起きてしまうということでよろしいでしょうか。 os:cmd()で実行した結果を string:tokens()によってぶった切る際にゴミが出るとなると、 それはBIFの問題でしょうね。 あと、個人的に一番怪しいなと感じるのは ~p を使っていることです。 これはテキストを整形する際に使うのですが、その整形の際にゴミが入っているのじゃないでしょうか。 他のシーケンス ~w とかを試してみてはどうですか。 頼りないアドバイスで申し訳ありません。
394 名前:391 mailto:sage [2008/05/31(土) 04:06:01 ] >>393 >>390 お騒がせしました。 io_lib:format('~w',[ List }), で解決しました。ありがとうございました。 tcp_gen:ではなくてgen_tcpでしたねw もう一つ質問。Prologクライアント、Erlangサーバのケースを 出しましたが、Erlangクライアント、Prologサーバだと、: Prologの項表現は prolog_call({append,[1,2],[3,4],X}), の他にないのでしょうか。Host、Portともに既定値の場合です。 期待値は {append,[1,2],[3,4],[1,2,3,4]} ですね。
395 名前:391 mailto:sage [2008/05/31(土) 04:10:57 ] 間違えました。 { append,[1,2],[3,4],X } のXも問題なのでした。項を 関数評価させないことと、変数をエラーにならず いかに表現するかが課題です。
396 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 04:57:18 ] 変数にエスケープ文字を付加しておいて、それをStringに なってから変換(削除)するのかな。 それから、 リストの各要素もErlang側のString処理かあるいは、 Prologに渡ってから { } -> Prolog項 変換をしなくては ならない。
397 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 07:12:54 ] -module(yobi). -export(['曜日'/1,'曜日検索'/1]). '曜日'(20080531) -> '土曜'; '曜日'(20080601) -> '日曜'. '曜日検索'(日付) -> '曜日'(日付). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 奇妙なことに、上記のプログラムは正常に働きます。 ?- X は c:c(yobi). X = {ok,yobi} ?- X は yobi:曜日検索(20080601). X = '日曜' という具合に。 Prologからsend時のアトムは必ずシングルクォーツで 囲まれている必要があります。 erlang側で writeq や formt('%q',[...}) に当たる機能を 見付出せていないので 20080601 と '20080601' の区別を付けられず今のところ 数値情報は整数表記に限っています。
398 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 07:45:20 ] -module('曜日'). -export(['曜日'/1,'曜日検索'/1]). '曜日'(20080531) -> '土曜'; '曜日'(20080601) -> '日曜'. '曜日検索'(日付) -> '曜日'(日付). でも大丈夫ですね。 ?- _曜日 は 曜日:曜日検索(20080601). _曜日 = '日曜' 多バイト文字だけで構成されるトークンが変数になるというのは 仕様とは思えないから、次のバージョンで使えなくなる かも知れませんね。
399 名前:EWの人 mailto:sage [2008/05/31(土) 08:43:20 ] Erlang以外の言語にタームを直接送信するというのが、 まず不合理なような気がします。 Xについても、指定する理由が良く分かりません。 複雑に考えずに、 asciiコードの配列に純粋に変換してみてはいかがでしょうか。 区切りは、特殊な記号(例えば@など)で作ってみてはどうですか。 たとえば、append@12@34 append @ 12 @ 34 として、prolog側で@を目印に分解すると都合が良さそうな気がします。 上記の方法だとlistsの関数を使って変数同士を合体させるのですかね。 append(ListOfLists) -> List1
400 名前:EWの人 mailto:sage [2008/05/31(土) 10:48:05 ] 間違えました。 上の場合だとリストへの自動変換を行なってくれる lists:concat(Things)のほうが良さそうです。 > lists:concat([doc, '/', file, '.', 3]). "doc/file.3"
401 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 22:32:25 ] >>399 >>395 を send(Socket,io_lib("~w(~w).",[prolog_call,[append,[list,1,2],[list,3,4],[var,'X']]]) で解決するのが自然かなと。 則ち Prolog:append([1,2],[3,4],X) === Erlang:[append,[list,1,2],[list,3,4],[var,'X']] と変換する。 Prologからの解は "[append,[list,1,2],[list,3,4],[list,1,2,3,4]])" でしょうから、receive して Str にStringを得て、 [_,_,Str2|_]=string:tokens(Str,[32,63]), [_,_,_,X] = lib_misc:string2value(Str2), で Erlangの変数 X にPrologのappend/3の第三引数が得られます。
402 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 22:49:05 ] 間違えました。 string:tokens(Str,[32,63]) は要りません。これは、 GET /cgi-bin?append.... の情報を読み出す場合の操作でした。 Prologの解の返信は HTTP/1.1 200 ok\nから始まり、2行改行が続いた後に "[append,[list,1,2],[list,3,4],[list,1,2,3,4]]" が来るというプロトコルになっています。 したがって\nで区切ってStringのリストとして空行の後のString Str を [_,_,_X] = lib_misc:string2value(Str) すればよい、ということになります。
403 名前:EWの人 mailto:sage [2008/06/01(日) 00:03:30 ] lib_misc:string2value(Str) は「プログラミングErlang」にあった関数ですね。 あまり良く覚えていませんけど(笑) ようはStrが純粋なErlangのタームになったら パターンマッチでXに欲しい値が入ってくるということでしょうか。 今回は[list,1,2,3,4]ですか。 正直なところ、私もこの関数がどういう原理でタームを返すのか コードを読んでいないから良く分かりません。 したがいまして、現段階で納得のいく回答はできないと思います。 申し訳ありません。 たしか、ファイルにあるErlang項を読み出す方法がありました。 多少オーバーヘッドがあってもよろしいのなら、 list -> write file -> read file -> term という変換も出来るかもしれませんね。 list -> binary -> term はたぶん無理じゃないかと思います。 やったことないですけど。 もう少し勉強してみます。
404 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 04:24:16 ] >>401 var(T) や list([1,2,3]) はどうするのw
405 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 04:55:36 ] >>404 [append,[l_1,2],[l_,3,4],[v_,x]] などどうでしょうw さすがに,関数名に v_ l_ を使用している人は少ないでしょう。 ',' や ';' も必要ですね。 ( [append,[l_,1,2],[l_,3,4],[v_,x]],[reverse,[v_,x],[v_,y]] ) とやると lib_misc:string2value(Str) で最終的に評価されて、 [reverse,[l,1,2,3,4],[l_,4,3,2,1]] が解になってしまいます。本当は、 [append,[l_,1,2],[l_,3,4],[l_,1,2,3,4]],[reverse,[l_,1,2,3,4],[l_,4,3,2,1]] が欲しいのですが。
406 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 05:53:13 ] >>397 多バイト文字をバイトに分解して 8進表記で 300 以下になるバイトを 含むものはやはり、エラーとなるようです。 例 '評価'(評価) -> shop:cost(評価). 評価 は \311\276\262\301 になります。 276 262 を含みます。 ということで、やはり多バイト文字は使えませんね
407 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 06:10:29 ] 第1バイトがasciiコード >=128+65 かつ =< 90 の時は 変数として、 >= 128 + 97 の時はアトムのアトムとして 認識しようとしている。文字の中に英記号コード + 128 を 含むとエラーということのようです。
408 名前:407訂正 mailto:sage [2008/06/01(日) 06:12:20 ] アトムのアトムとして -> アトムとして
409 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 06:32:42 ] >>401 既存のProlog述語は多バイト文字の使用が当たり前だし、 やはり、Prolog側にErlangインターフェイス述語を用意 するのだろうね。既にあるProlog述語を利用するなら。 例 yobi(Hiduke,Yobi) :- 曜日(_日付,_曜日). のような。必ずprolog_callのような述語で呼ばれるのなら、 >>399 >>400 のような簡易表現でやりとりするのも、 ありかな。XMLに変換して渡すというのもあると思う。 それ以前に、 Prolog項 -> Erlang関数 変換は簡単なので、 Erlangに移植する方が効率がよい場合も多いのではないか。
410 名前:407訂正 mailto:sage [2008/06/01(日) 06:36:11 ] >>409 日本語の移植が困難なのでこんな試みをしているのですw
411 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 06:38:58 ] 名前、消すの忘れてた。 407とは関係がないレスでした。ちなみに使用ブラウザはおちゅーしゃ。
412 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 06:53:26 ] ところで、既存のPrologのコードでどうしてもここは Erlangでというようなところがあるのだろうか。 どこかのサイトでリアルタイム性のあるスケジューリング問題を 挙げていたが。1996年のINAPでのErlangチュートリアルで この問題が出ていたようだが、英語でよく判らなかった。
413 名前:409 mailto:sage [2008/06/01(日) 07:12:02 ] yobi(Hiduke,Yobi) :- 曜日(Hiduke,Yobi). だった。訂正。
414 名前:EWの人 mailto:sage [2008/06/01(日) 09:50:36 ] Prologが分からないのに適当なこと言ってすいませんでしたwww 未熟なため、論点が少しずれていたようです。 そういえば、卒論をErlangで書くことになりそうです。
415 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 11:32:21 ] まあ歴史があってライブラリもそれなりに整備されてる、いい言語だと思うけど データベースが付属しているってのが、こんなに便利だとは思わなかった
416 名前:デフォルトの名無しさん [2008/06/01(日) 13:05:32 ] 俺が使いたいライブラリは何一つ実装されていない。
417 名前:デフォルトの名無しさん [2008/06/01(日) 15:11:26 ] ないものは作れ
418 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 16:02:25 ] スレに活気が溢れてきたな
419 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 16:22:22 ] >>417 実装されるまでErlangは使わない。 既に実装されている言語を使う。 目的をはき違えるなよ。
420 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 16:26:58 ] 目的は多様な物だよ 人によって千差万別
421 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 17:00:27 ] >>410 日本語処理をするなら、君の方向でPrologでErlangのプリコンパイラを作るのがよさそう。 1) PrologでErlangクライアントブラウザを書く。 2) ブラウザ上でプリコンパイル。 曜日検索(_日付) -> 曜日(_日付). を er00001(Er00001) -> er00002(Er00001). 3) このブラウザでプリコンパイル時に以下のデータベースを作っておく。 erlangアトム(er00001,曜日検索). erlangアトム(er00002,曜日). erlang変数(Er00001,'_日付'). 4) "c:c(er0002)" を実行。 則ちErlangサーバ側のコンパイル。 5) > 曜日:曜日('20080420'). で 関数評価。 6) erlangサーバにデータベースを基に変換された "er00001(Er00001)" が送信され、 7) erlangサーバからの値 { '20080420','日曜' } が得られる。 つまり、Erlang をアセンブラの位置づけで使う。
422 名前:421 mailto:sage [2008/06/01(日) 17:08:28 ] 送られるのは "er00001('20080420')" でした。 それから、Prologのブラウザでは > c(曜日). ですね。送られるのが "c:c(er00002)" です。
423 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:32:12 ] erlideをインストールし直したら使えなくなった。 普通のエディタに書いてるのと変わらん。 勘弁して欲しいよ。
424 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:16:31 ] つ edlin
425 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 10:01:42 ] >>421 たとえば foo(X) -> if is_list(X) -> lists:flatten(X); true -> X end. のようなブロック構造を含む場合 エジンバラProlog では read できないと思うけれど、 やはりパーサを書くのかな。foo(X) の後の -> を :- に 書き換えれば read できるけれど。 それはともかく、私は receive .... end みたいな構文は好きでない。
426 名前:EWの人 mailto:sage [2008/06/03(火) 19:52:37 ] >>423 emacsとかどうですか。 私もerlideの調子が悪いので乗り換えようかと考えています。 www.erlang.org/doc/apps/tools/erlang_mode_chapter.html を参考にしたら簡単に入れられると思いますよ。 後日、手順をアップしておきます。
427 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 09:51:13 ] >>421 漢字ローマ字変換(_漢字文字列,_ローマ字文字列) :- concat_atom(['kakasi -Jj ',_漢字文字列],S1), shs(S1,,[_かな文字列|_]), かなローマ字変換(_かな文字列,_ローマ字文字列). のような感じでアトムをローマ字アトムに変換したら。 同音異義からくる問題をどうするかだね。
428 名前:427 mailto:sage [2008/06/05(木) 09:52:50 ] shs(S1,[_かな文字列|_]), ですね。 カンマが二個になっていた。
429 名前:427 mailto:sage [2008/06/05(木) 10:27:41 ] まちがえた。 concat_atom(['echo ',_漢字文字列,' | kakasi -Jj'],S1), だった。
430 名前:EWの人 mailto:sage [2008/06/05(木) 15:44:38 ] 新たに最新のEclipseを落として、Erlideをきちんとした手順(前は適当でした。すいません。)に沿って インストールしてみたのですが、私の環境でもインストールできないようでした (Eclipseを起動できなくなる) 普通に動かせる方がいたら、良かったら情報を提供していただけませんでしょうか。
431 名前:429 mailto:sage [2008/06/06(金) 05:28:50 ] kakasi -Jj で漢字はローマ字に変換できます。 ただし、かなを変換しないから、かなローマ字変換で補正する。 だから、最初のshs(S1,[_かな文字列|_]), の論理変数名は不適切で、 shs(S1,[_かなを含むローマ字文字列|_]), かなローマ字変換(_かなを含むローマ字文字列,_ローマ字文字列). でなくてはいけなかった。かなローマ字変換は ・ ローマ字はそのままスルーする。 ・ ローマ字の前のエスケープ文字を削除。 ・ 表を引いて、かなをローマ字に変換。 ・ かなとローマ字以外の文字はそのままスルー こういう特殊な述語だから、本当はかなローマ字変換という述語名は 適切ではありません。
432 名前:431訂正 mailto:sage [2008/06/06(金) 05:31:32 ] ・ かなとローマ字以外の文字はそのままスルー ではなく ・ かなとローマ字以外の文字は無変換 でした。
433 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 05:54:44 ] Prolog(サーバ) <-> Erlang(サーバ) の事を書き込んできましたが、 一応整理して、この話題を終了します。 PrologからErlangを呼び出したいケースは、 1) Prologの弱点の補正・協業。具体的には、並行プロセスでの実行。非同期処理など。 2) 全角文字の処理等をPrologによるブラウザ(IDE)で解決したい場合。. ErlangからPrologを呼び出したいケースは、 1) Prologに圧倒的な資産があり、これをErlangで利用したい場合。
434 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 07:50:54 ] >>433 %Prolog append([],X,X). append([U|X],Y,[U|Z]) :- append(X,Y,Z). を %Erlang append([],X) -> X; append([U|X],Y) -> [U|append(X,Y)]. に変換するようなErlang関数が入ってるライブラリって どこにありますか。 Erlangの歴史を考えれば絶対にあるよね。
435 名前:EWの人 mailto:sage [2008/06/07(土) 21:40:50 ] >>434 たしかに、ErlangとPrologは歴史的に繋がりがあると思いますが、 互換性が取れているという話は聞いたことがありません。 Prologユーザの絶対数が少ないので、言語としては似通っていても Erlangではprologのインターフェースを持っていないのかもしれません。 pythonでいうexecみたいなコマンドがあったら便利ですね。 そうすればこんな悩みなんか一瞬で解決してしまうのにwwww webページに関してなのですが、 現在までのコンテンツに 「バイナリ、ビットシンタックス」 「マクロ」 を追加して、一回整理をしようと思うのですが、 今までの範囲で他に必要なものはありますでしょうか。 作成しますので、良かったらお伝え下さい。
436 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:48:14 ] >>435 特にはありません、僕にとって全てが未知なのも原因ですが。 声援を送ることしかできませんが、がんばってくだされ(日本語でかかれたWebのErlang系の情報で一番充実してますです)
437 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 05:00:42 ] >>434 例えば、append/3 ということになるが、 実務での使われ方としては、 ?- append(X,[_,d|_],[a,b,c,d,e,f]). X = [a,b], _ = c, _ = [e,f]. yes の方が多い。つまり、Prolog述語の引数のモード宣言がないと、 難しいということがあるのではないか。
438 名前:433 mailto:sage [2008/06/08(日) 06:16:36 ] Prologでなくても、RubyでもPythonでも何でも呼び出し側は いいんです。parserを書く必要があるかないかくらいの差。 それよりも、こんな話題を続けていて気づくのは、 Erlangは実務的な部分で専ら伸びてきているせいか、 入門書に当然のようにソケットを使った通信などが 入っている。これは、関数型言語では珍しい。 そして、ありがたい。 例外の扱いの順序など、どうかなと思うところもあるけれど、 "Programming Erlang" のプロセス間通信に至る構成が 言語入門書の標準になることを期待。 ウィンドウを開いてにHello,World! を表示することではなくてね。
439 名前:433 mailto:sage [2008/06/08(日) 06:34:45 ] "Concurrent Programming in Erlang" にはソケットでてこなかったか。 この本を入門書と呼ぶことは躊躇されますが。
440 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 06:47:37 ] ビットの取り扱いが楽だったり、もともとネットワークとの親和性も考慮されている様子 (そういえば開発元が通信会社か) 他言語からErlangを呼ぶってのはなかなか良い感じ 解法としてプロセスの大量使用が自然な問題を、Erlangに投げてやるって使い方が すぐさま思いつく
441 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 07:07:42 ] >>440 ソケット通信だとオーバーヘッドはあるけれど、 その使い方を一般に知らしめるのが、Erlang普及の 一番の近道だと思う。
442 名前:EWの人 mailto:sage [2008/06/08(日) 09:06:15 ] >>436 いやいや、私も初めてから2ヶ月ぐらいですからね。 実際に使い始めれば習得も早いのではないかと思います。 多言語とのソケット通信に関してなのですが、 自分で関数を定義するよりも、既存のインターフェースを使うほうが楽なようです。 「プログラミングErlang」に載っていなかったので、そのうち載せておきます。
443 名前:EWの人 mailto:sage [2008/06/08(日) 13:13:57 ] 少し調べたのですが、erlangのBIFにmakeというものがあって、 erlangのソースコードのコンパイルにはgnu makeよりもそちらのほうが便利なようです。 www.erlang.org/doc/man/make.html
444 名前:EWの人 [2008/06/09(月) 14:59:00 ] webページの構成を変えました。 erlangworld.web.fc2.com/ 明日以降に内容の調整をしていきます。
445 名前:EWの人 mailto:sage [2008/06/11(水) 14:42:00 ] Erlangの最新版5.6.2はエラーが起きた行を表示してくれるようになったみたいですね。
446 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 16:58:53 ] >>445 私は5.5.5だけれども、エラーメッセージの読解には泣かされてる。
447 名前:デフォルトの名無しさん [2008/06/11(水) 17:00:57 ] 皆さんはあーらんでどんなもの作ってます?
448 名前:EWの人 mailto:sage [2008/06/11(水) 19:48:20 ] >>446 まさに、「日本語でおk」ってやつですよねwww >>447 一概には言えませんけど、やっぱりネットワーク関連のものですね。 簡単なサーバならサクサク書けます。 本来なら自分でプログラムを作成しなければいけないところを、 言語がカバーしてくれているのでいい感じだと思います。 分散システムとかを作るのに最適な言語なんじゃないかな。
449 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 09:28:12 ] で、C10Kは越えられるの?スケールするの?
450 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 10:45:30 ] >>449 「C10K」については知らないので、ボケたレスになるのを覚悟で書くと、 Erlangはプロセスを完全にErlang処理系が制御するので最大プロセス数は Erlang起動時のパラーメータで可変となる。 私はほとんどスケルトンだが、100万プロセスを起動して実験している。 Ubuntuだから4GBメモリで。 実務で使っているマシンになるので試したことはないが、RHEL5だと無制限の はずだから、もっといけるのではないか。
451 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 11:55:08 ] 比較的実用レベルの話だと、 WebサーバのベンチマークでYAWSが8万セッション程度を同時に扱ったテストがあったようだ 比較対象のApacheは4000セッションで落ちた ttp://www.sics.se/~joe/apachevsyaws.html
452 名前:EWの人 mailto:sage [2008/06/12(木) 20:40:08 ] C10Kを意識したプログラム作成って個人レベルじゃあまり求められませんよね。 自分が作ったプログラムで「遅い」と感じるのは演算能力以外の部分が大きいです。 例えばネットワークとかファイル入出力とか。 Erlangは理論上においてC10K問題をクリアしやすい言語だと思いますが、 そのためには言語以外にアルゴリズムなども発展する必要があるかもしれませんね。
453 名前:EWの人 mailto:sage [2008/06/13(金) 10:01:22 ] yahooカテゴリに登録されるようです。 あと数日したら掲載されるみたいです。
454 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 10:14:42 ] >>453 昔は検索エンジンにサイトを登録してもらうのが 一種のステータスだったのになあ ディレクトリ型検索って見ることもなくなったな
455 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 10:22:24 ] PageRankとかの分析手法の登場で、 人気サイトはすぐに発見できるようになっちゃったからね まあ今でも良質なサイトが多いようだし、一定水準を確保できているという証明にはなるかも
456 名前:EWの人 mailto:sage [2008/06/13(金) 11:37:25 ] >>454 >>455 ページランクを上げるためには知名度がいりますからね。 起爆剤として働いてくれればと思って登録しました。 とりあえずページランク n/a(存在しない) から抜けることが目標です。 存在しなきゃ利用者も増えないですから。
457 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 02:57:39 ] >>449-452 Web2.0の先にあるC10K問題 www.atmarkit.co.jp/news/analysis/200701/09/c10k.html TheC10kProblem www.hyuki.com/yukiwiki/wiki.cgi?TheC10kProblem Grizzlyの概要 : C10K問題に対応するGlassFish(Grizzly) blogs.sun.com/yosshi/entry/grizzly%E3%81%AE%E6%A6%82%E8%A6%81_c10k%E5%95%8F%E9%A1%8C%E3%81%AB%E5%AF%BE%E5%BF%9C%E3%81%99%E3%82%8Bglassfish_grizzly Javaの場合はスレッドごとのスタックがメモリを食いつぶすから ネットワークサーバエンジンGrizzlyは1スレッド複数クライアント方式で実装されました。 Erlangは100万スレッドでも動くから1スレッド1クライアント方式でスケールするのですね。 コードが分かりやすくなる1スレッド1クライアント方式を選べるのはありがたいです。
458 名前:EWの人 mailto:sage [2008/06/16(月) 20:49:15 ] ちょっと忙しいので更新遅れます。 とりあえず作成してあるものを明日アップしておきますが、 次の更新は来週あたりになりそうです。
459 名前:デフォルトの名無しさん [2008/06/16(月) 22:12:41 ] 「Concurrent Programming in Erlang」ってどんな本なの? アマゾンのマープレでは法外な値段が付いてるけど・・・
460 名前:EWの人 mailto:sage [2008/06/16(月) 22:35:37 ] 英語が読める人にとっては、プログラミング言語Erlangより簡単です。 よりマニュアルに近い感じです。 ただ、あの法外な値段を払ってまで読むべきものかと言うと、 それはちょっと疑問ですね。私も自腹なら買いませんwww 本家のマニュアルを片っ端から読めば、同じような内容だと思います。
461 名前:EWの人 mailto:sage [2008/06/21(土) 16:17:40 ] 今更気づいたんですが、 BIFってのはErlang以外から構成されている関数のことだったんですね。 標準ライブラリのことをBIFと言うと思っていました。
462 名前:EWの人 mailto:sage [2008/06/23(月) 22:17:37 ] 分散Erlangとファイアーウォールを共生させるのが難しいですね。 デーモンで使われるポートを開放していても、どこかが引っかかっているような感じです。
463 名前:デフォルトの名無しさん [2008/06/24(火) 03:16:43 ] ライブラリが強力に思えたことがある。 でもつかってない。 Amazon EC2上で実験してみたいと思っているが。
464 名前:デフォルトの名無しさん [2008/06/25(水) 11:18:33 ] 数十〜数百台のノード間でグループ通信をしようと思っています。 やりたいことは、 - グループにノードが追加/削除されたらコールバック関数を呼ぶ - グループメンバのノードへのブロードキャスト - グループ内のノードのリアルタイムモニタリング (CPU ロードとか) なんですが、OTP のどのライブラリを使ったらよい、とかがわかれば教えてください m(__)m
465 名前:EWの人 mailto:sage [2008/06/25(水) 21:43:15 ] >>464 たぶん、求めている機能自体はOTPではなく他のものを使って作ると思います。 OTPはそれらの機能を繋ぎ合わせる土台みたいなものですかね。 他のマシンの状態とかを逐次的に調べたいのであれば、 OTPのイベント管理機能を通して管理するのがスマートなような気がしますが、 イベント自体は自分で設計する必要があります。 ブロードキャストに関しては、通常のTCP/IPでいうところのマルチキャストみたいなもんですから、 全てのノードに連続で送信でいいんじゃないですかね。 とりあえず、ライブラリの rpc group なんかが参考になるかも。
466 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 04:54:46 ] Tokens の構成要素で [{atom,1,abc},...} の中の"1"は何を意味するのですか。
467 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 04:57:31 ] まちがえた。よく見えない。 [{atom,1,abc},...] です。 おちゅーしゃの入力ウィンドウとフォントをもっと大きくする方法はないのだろうか。
468 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 12:11:58 ] >>466 改行情報。 "2"の場合、この要素の前に1行改行が入る。
469 名前:464 [2008/06/26(木) 16:54:56 ] >>465 ありがとうございます。 ひとまず、数十台のクラスタでそれぞれにスーパーバイザを立てて、全対全で 監視しあう(もし落ちてたら再起動)、ということを考えています。 この場合、supervisor のコールバック init/1 の中身をどうすべきかで悩ん でいます。 ふつうは↓こんな感じになると思うんですけども、すでに起動してるやつ同士 にリンクを結ぶような start_link/0 関数を定義する必要があるでしょうか?? それとももっと簡単なやりかたがある? {ok, {{one_for_one, 3, 10}, [foo_server, {foo_server, start_link, []}, permanent, 10000, supervisor, [foo_server]} ]}}.
470 名前:EWの人 mailto:sage [2008/06/26(木) 21:08:21 ] supervisorは階層型の管理方法だと思うので、 平等なノード同士を監視し合うというのは特殊な使い方なような気がします。 個人的な意見なのですが、スクラッチをOTP無しで作ってみて、 それを参考に「欲しい機能を持たせた仕組み」を一から作るのがいいかもしれないですね。
471 名前:EWの人 mailto:sage http://erlangworld.web.fc2.com/ [2008/06/27(金) 18:16:23 ] そういえば、ブロードキャストに関してなのですが、 プロセスに対してだったら連続送信するしかない(もしかしたら間違ってるかも)と思うのですが、 分散Erlangに参加しているノードに登録されているローカルの登録済みプロセスに対してなら マルチキャストする手法があったような気がします。 各々のノードが均一であるならば、同名のローカルの登録済みプロセスを一つ作成して、 それにたいしてマルチキャストすればいいかもしれません。 やったことないですけど。
472 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 06:09:27 ] Ubuntu7.10 でOTPを./configure するとエラーになるのだけれど、 何か注意事項があるかな。
473 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 20:13:47 ] エラーをよく読む
474 名前:EWの人 mailto:sage [2008/07/02(水) 23:26:26 ] たぶんオプションの指定か、 何かが足りない(コンパイラとか?)かのどちらかだと思います。 Java(BIFにJinterfaceがある)もいるかもしれませんね。 コンパイルしてる最中にチェックされてたような気がします。
475 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 08:57:01 ] 今日の日本経済新聞の一面に、松下が世界25万台のPCを 集中管理するという短い記事があったけど、こういう制御は、 Erlang向きなんだろうか。
476 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 01:01:57 ] >>475 何を管理するかによると思う。 記事から推測すると、管理ポリシー(実行権限、使用可アプリ制限、 パッチ等の適用タイミング同期など)が対象のようだから、Erlangで なくても可能。 むしろ既存システムとの整合性が重要と思われる。
477 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 03:01:01 ] >>476 25万台、ポーリングシステムなどと途方もないことを 考えてしまったw
478 名前:EWの人 mailto:sage [2008/07/10(木) 23:42:57 ] Erlangの純粋な分散はクラスタ向きかもしれませんね。 例えば、「みんなのマシンを合わせて分散させよーぜ」なんてのは セキュリティの問題上きついかもしれません。 ノードごとに権限を設ける機能ってあるんですかね?
479 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 11:38:55 ] OTPにはErlangアプリケーションサーバのようなものは入っているのですか?
480 名前:EWの人 mailto:sage http://erlangworld.web.fc2.com/ [2008/07/22(火) 18:08:25 ] >>479 JavaのTomcatみたいなもののことですね。 良くわかりませんが、あるとしたらYawsあたりの資料に載っているような気がします。 明日あたりに少しwebページを更新します。 9月あたりまで少し更新頻度が遅れそうです。
481 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 13:06:37 ] 私は日常的には関数型言語とは無縁なのですが、Erlangの receive ... end や case ... of ... end が嫌で嫌でたまりません。 fun() -> ...end も勿論いやです。 こういうのは関数型言語を使われている方は平気なのですか?
482 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 14:36:52 ] 共通する「こういうの」が解らないんだが、その3つに関しては全く気にならない。 #endが嫌なのか、予約語が嫌なのか…ifもwhenも入ってないし… むしろ、個人的にはifでelseが使えない方が嫌だ。 if Foo -> bar; else -> baz end ってやりたい。 それが嫌でcaseばかり使ってるよ。
483 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 14:56:22 ] >>482 何が気に入らないか書かなくて申し訳なかった。 たとえば、 X = receive(), foo(X), で何ら問題ないではないかということですが。 case文もif文もないとだめですか。
484 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 23:50:27 ] >>483 Prologの人乙
485 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 00:53:44 ] >>484 そうです。
486 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 01:59:44 ] 自分が慣れ親しんだPrologと違うからいやだってことですね。
487 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 04:10:16 ] >>486 そうですねw Prologでも ...,(q1(..),q2(..);q3(..),q4(..),q5(..);q6(..)), ... のような構文がありうるわけですが、 実はプログラムエラーの90%以上が ここで発生します。 それで何ていうのか適切な表現では ないかもしれないが、 インラインに展開したような表記法は 嫌いなのですね。
488 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 15:45:39 ] Prologみたいに一々変数の名前考える方がイヤすぐる
489 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 15:48:00 ] >>488 論理変数が命だから。
490 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 20:44:36 ] Prologのプログラミングは 1) 単位節(データベース)定義。 2) ルールの記述。 以外にないわけで、1)をともかく積み上げなくてはなりません。 2)のルール記述では唯々現時点で、論理変数が同じものであるか、 あるいは同じものとは云えないかに焦点を当てて記述していく。 >>487 の面倒だというのは、違うことを示すために別のラベルを 考えるのが面倒だということですね。たしかにそうなのだけれども、 論理変数の記述によって現れるストリームこそPrologの形像であり、 論理変数の命名、則ちPrologプログラミングではないかと思います。
491 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 20:48:40 ] >>490 スレ違い
492 名前:490 mailto:sage [2008/08/02(土) 20:50:28 ] すみません。 >>487 ではなくて(これは私の書き込み)、 >>488 でした。
493 名前:490 mailto:sage [2008/08/02(土) 20:51:23 ] >>491 ErlangとPrologの歴史から すれ違いだとは思いません。
494 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 21:18:01 ] fib(N) -> fib(N-1) + fib(N-2). って書けないのは面倒すぐる。 N-1やN-2やfib(N-1)の結果やfib(N-2)の結果やfib(N-1)+fib(N-2)の結果は >唯々現時点で、論理変数が同じものであるか、 >あるいは同じものとは云えないかに焦点を当てて記述していく。 必要ないよね。 Erlangの中の人もPrologは面倒すぎたんじゃないの?
495 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 02:03:18 ] Erlang はとっくの昔に論理型言語じゃなくなってるから 今さら Prolog と比べられてもな
496 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 03:02:33 ] >>495 どなたかがPrologの変数に言及されたので、 Prologでの論理変数の位置づけを確認した。 私がいいたいのはErlangが foo(receive()) で捌けるようにならなかったものかということ。
497 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 01:01:06 ] >>496 論理型プログラミングがしたいなら、とっとと別の言語を探した方が 幸せになれると思うよ。
498 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 10:17:23 ] >>497 やっぱり、Ozか
499 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 12:14:16 ] >>498 習得時間がかかりすぎ。Erlangの何倍かな。
500 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 00:51:10 ] Oz が Erlang に比べて極端に難しい言語だとは思えんが。 論理型でも書けるってだけで、それを強制されるわけでもないし。 ところで Oz のスレって無いのかね。
501 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 00:57:35 ] コンピュータプログラミングの概念・技法・モデル ttp://pc11.2ch.net/test/read.cgi/tech/1196257692/
502 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 07:38:27 ] >>500 ひとつのパラダイム部分だけ使うのなら変わらないけれど それで習得したとはいえないだろう。 どのくらい学習時間が必要かはともかくとして、 Erlangで不自由な部分があるからOzも同時に使いたいと 思ってる人いるかな。
503 名前:デフォルトの名無しさん [2008/08/21(木) 03:19:55 ] なんでこれでエリクソンって読めるの?
504 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 04:47:04 ] >>503 作った会社の名前だっつの
505 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 07:11:23 ] >>503 "Erlang" でエリクソンと読む訳ではないよ。アーランと読むのが普通みたい。
506 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 03:49:09 ] >503 エリクソンの綴りは"Ericsson" Erlang (アーラン)は最初、エリクソン社が社内で使うために 開発された言語らしい。 よって"Erlang"は"ERicsson LANGuage"の略だと言う説あり。 by Wikipedia
507 名前:デフォルトの名無しさん [2008/09/13(土) 11:09:45 ] 秋の夜長は、がっつり、あーらん
508 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 15:07:49 ] Erlangってコンパイラ屋にたいして愛されてないよね ttp://shootout.alioth.debian.org/u64q/erlang.php ttp://shootout.alioth.debian.org/u64q/scala.php ホントに数百コア時代がきた時には使われないんだろうね。 要素技術だけ他の新言語に吸い上げて貰えば上等みたいな。
509 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 17:17:17 ] >>508 機械語が関数型になるのはどのくらい先だろう。
510 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 17:30:04 ] 次世代はLarrabeeなんでまだ10年はx86かな
511 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 17:48:11 ] 15年とか20年とか先になるとして、>>508 的な状況と 時期的にどのくらいのズレが生じるのだろう。 本格的なマルチコア時代と関数型への移行が 同期するなら極めてハッピーと言えるのだが。
512 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 17:55:53 ] >>511 マルチコアではHaskellが有望株らしいよ ttp://www.watch.impress.co.jp/game/docs/20080911/epic.htm
513 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 18:10:46 ] Hakellが機械語ですか、ゾッとしますね。
514 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 18:27:47 ] 関数に副作用が無いことを利用して並列化をかけるってのは確かに有望だとは思うが オブジェクト脳的な考え方だと、アクターベースのほうがより親しみやすい感じがする 特にゲームは実世界のシミュレーション オブジェクト的な発想が強そうだが、そうでもないのかね?
515 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 18:44:26 ] ゲームに使うアクションの合成をうまいこと作れる演算子のセットが できれば、Haskell的な言語への移行は意外と早いんじゃないかな。 ツクール系とかのスクリプト言語として「HaskellらしからぬHaskell」が 現れてくると思う。 むしろ、ゲーム開発のメインストリームになるためには、ガベージコレクションに ブレイクスルーが必要だと思うね。確実にメモリ消費量の上限を決められたりとか、 そのあたり。 純粋関数型言語じゃないけど、PC向けのSchemeであるYpsilonの開発動機に、 既存の処理系ではGCに不満がある、とあった。
516 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 15:50:20 ] >>515 20年後になっても、人類はゲームをやってるのか。
517 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 15:56:04 ] 20年前に人類にゲームはなかったのか?
518 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 15:57:12 ] >>516 やって無いと思うほうがおかしくね?
519 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 20:38:34 ] 2千年後でも2万年後でも200万年後でも人類はゲームをやっているだろうね。 絶滅するか、あるいはとても人類とは呼べないものに変貌していない限り。 ゲームをする(遊ぶ)と言うのは人間というものを特徴づける 重要な性質のひとつだ。 現在のような人手でプログラミングする必要のあるコンピュータが 存在しなくなる可能性の方がまだ有り得るな。
520 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 20:44:49 ] 人間自体コンピュータだと主張する俺が通りますよ
521 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 21:31:21 ] 脳の並列処理はすごいと思う。 画像認識処理とかもう人間並みに速くなってるのかな
522 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 21:40:46 ] 無理でしょ。 人間の画像処理は目玉やら筋肉やら脊髄やら、いろんな複合的なシステムになっている。 ハードウェアまで含めて画像処理に使ってる人間と、 ソフトウェアだけのコンピュータによる画像処理では最初から勝負になってない。 たとえば、太陽黒点を観測するシステムを構築する時。 結論から言うと、カメラで写らない黒点を人間の目玉は見つけることができる。 なぜなら人間は全体を一様な明るさでとらえているのではなくて、 眼球を動かしつつ虹彩で明るさ調整しつつ経過時間を意識して見ているから。 人工的にできないわけじゃないけど、まだ誰もできていない。
523 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 21:44:17 ] 実際に観測装置を動かしてみると、とても大きな黒点が見えるのに、 適切に設定したはずのカメラにはまったく映っていなかったということが実際にある。
524 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 19:39:05 ] パートクリエイター板で技術さんを募集。 みんなでわいわいやりましょう。 ex14.vip2ch.com/test/read.cgi/news4gep/1221357313/ www36.atwiki.jp/vipvipschool/ 現在6名の技術さんがいます。 他にもサーバー部分、土台を作る人が不足しています。 CSS、Perl、アーラン、その他言語ができる人を募集中! 勉強中な人でもかまいません。 イメージや企画内容についてはスレッドとwikiをご覧下さい。 わからない所があればIRCやメールで気軽に聞いてください!
525 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:29:28 ] >>524 おk いまからerlang勉強して手伝ってやる
526 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 14:37:16 ] むしろ技術者が6人もいるのに、ろくに進捗がないことの方が驚きだわ
527 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 14:39:43 ] >>526 それではあなたが加入して、革命的躍進を遂げて下さい。
528 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 19:27:11 ] >>526 察しなさいよ。 6人中一人しか使えない言語を選択してるんだぞ? リーダーは大学2年生くらいで、来年には就職活動が忙しくなって投げ出すよ。
529 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 13:16:54 ] 質問です floatからintegerに変換するにはどうすればいいですか?
530 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 13:38:00 ] trunc(Number).
531 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 14:19:38 ] >>530 ありがとうございます。 さらに質問ですが、Erlangで無限リストはどのように書けば良いのでしょうか?
532 名前:531 mailto:sage [2008/09/22(月) 14:28:47 ] 説明が不十分ですね。 私がしたいことは、 たとえば、2,3,5,7,11,13,・・・(無限)と続く素数のリストから100個の要素を取得したい場合、 どのように書くのがスマートでしょうか?
533 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 15:49:03 ] 皆さんエディタは何を使っています? 俺はemacsを使っているんですが、関数を畳んだりできる機能が無いので若干不便に感じています。
534 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 16:45:02 ] >>533 > 関数を畳んだりできる機能が無いので あるよ。 erlang のモードで使えるかどうかは知らんが、それでもちょっとコードを書き足せば出来るはず。
535 名前:EWの人 mailto:sage [2008/09/28(日) 03:02:06 ] おかげさまで大学院にも合格しました。 卒論の折を見ながら、サイトの更新を再開しようかと思います。 >533 無限リストってものが良く分からないのですが、 一番純粋なリストっぽくやろうとしたら、リスト内包表記じゃないかと思います。 条件判定のところに素数の条件と、どこまで求めるかを記せば動くような気はしますね。 ただ、直感的にあまりいいプログラミングのやり方じゃないように感じます。 毎回2から割り切れるか調べるという馬鹿プログラムなら別にいいんですが、 そうじゃないのなら複雑すぎるので避けるべきではないかと。 特に拘りが無いのであれば、他の言語みたいに関数で定義すりゃ手っ取り早いような気はします。 引数に「現在の値」と「素数リスト」を取った再帰関数を定義して、 「素数リスト」に含まれる要素が「現在の値」を割り切れないときは素数リストにその値を追加。 「現在の値」をインクリメント というのをグルグル回すのが一番シンプルな気がします。 本格的に作るのなら、並列処理で判定させるのも面白いかもしれませんね。
536 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 07:50:35 ] >>494 関数型に較べて、論理型が冗長な部分があることは確かだが、 多くの場合仕様を変更して機能的に拡張するとなると、 例えば履歴の確保を追加する場合などだが、関係する述語群に 引数(論理変数)を1-2個増やすだけで解決できる論理型の 方が圧倒的に有利になる。
537 名前:536 mailto:sage [2008/10/03(金) 09:05:03 ] 例えばPrologで引数を増やすということは、 関数で型宣言をすることに近いのだから、 圧倒的に有利どころかほとんど差はないか。>>536 は撤回。
538 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 21:34:53 ] プロセス辞書って副作用だよね?
539 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 00:11:29 ] ごめん、参照透明とかあんま厳密な言語じゃないみたいね
540 名前:デフォルトの名無しさん mailto:sage [2008/10/04(土) 11:35:09 ] >>539 ちょいさわった感じでは、ある意味「普通」の言語。 単一代入なのは、プロセス間でmutableなデータを共有しないための手段のような気がする。(なので、個々のプロセスで閉じるプロセス辞書については気にしない) そういうデータを扱う方法については言語内でカタを付けるんじゃなくて、ETSやMnesiaという形で外出しにしてるし。
541 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 07:40:04 ] 関数型プログラミング言語、興味を持ってちと勉強してみようと思い立ったものの、 Erlang, Haskell, OCaml, etc. どれに手をつけてみるのが一番良いの? まあこのスレで聞くのもナンだけど。
542 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 14:50:57 ] どうせ全部手をつけることになるんだからどれでもいい
543 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 18:08:24 ] なるほど! 目からウロコとはこのことです。迷っていた自分が馬鹿らしくなりました。
544 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 19:04:48 ] >>541 どれつかっても身近な文字列扱うときに泣いたのでF#でお茶を濁した俺
545 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 20:55:51 ] 全部手をつけることにはなるだろうけど、どれも均等に使う可能性は低いかな。。 みなさんGUIは何でやってる?やっぱerlgtkですか?
546 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 10:51:15 ] Scala で Swing
547 名前:EW [2008/10/24(金) 13:30:12 ] Erlangでオブジェクト指向っぽくプログラミングする手法って 需要ありますかね? 継承やポリモーフィズムあたりを実現させるのはかなり難しいんですが、 インスタンスとメソッドを用いるプログラミング手法には似せることが出来ます。 知りたい人がいるのであれば、webページを作ろうかと思います。 ttp://erlangworld.web.fc2.com/
548 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 14:48:37 ] Parameterized modules のこと?
549 名前:EW mailto:sage [2008/10/25(土) 01:07:25 ] >>548 そんな高度なもんじゃないですよ。 Cの構造体でオブジェクト指向っぽくプログラムを組むのと似たような感じですかね。 オブジェクトを一つのプロセスにして状態をグルグル回すだけです。 gen_serverの簡単なバージョンをイメージして頂ければ分かりやすいと思います。 プログラミングの癖が私に似ている人なら、たぶん自然と使っているような気はします。
550 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 02:07:07 ] 継承と多態の無いオブジェクト指向って、それオブジェクト指向じゃなくね? というのは置いといても、receiveを囲ってるループの引数にフィールド当てはめてメッセージにメソッド当てはめるってこと?
551 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 04:46:22 ] オブジェクトにメッセージを送れるならOOPLと呼んでいいと思う
552 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 10:52:45 ] >>551 絶対に違うと思う
553 名前:EW mailto:sage [2008/10/25(土) 12:18:02 ] >>550 だから、それっぽくということですwww プログラミングをしている感覚としては、やっぱりオブジェクト指向よりも 手続き型に似ているような気がしてなりません。 そうですね。基本はreceiveをぐるぐる回す構造です。 メッセージによるイベントドリブン形式とでも言えるかと思います。 ErlangのAPIがCの構造体を利用したものに似ているんですが、 Pidをインスタンスに、メッセージをメソッドに、みたてて似たようなことをやるほうが、 並列処理では使い易いような印象がありますね。 まぁ、弊害として ・資源開放としてのプロセスの終了が必要になる ・死んでいるプロセスに送信したら無視される というものもあるんですけど。
554 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 16:41:13 ] >>552 「絶対に」という根拠は気になるな
555 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 14:52:39 ] 表紙のconcurrentに惹かれて「プログラミング Erlang」を読み進めているのだが、 今ひとつ並列性への本質的な強みが感じられなくて、期待はずれ感。 20章の初めには「たくさんのプロセスを使う」とか書いてあるし・・・ どうしたら満たされる、並列への期待
556 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 17:18:49 ] >>555 第五世代コンピュータ
557 名前:デフォルトの名無しさん [2008/10/26(日) 17:23:53 ] 織田信長?
558 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 18:01:36 ] > 20章の初めには「たくさんのプロセスを使う」とか書いてあるし・・・ プロセスを誤解してないか?
559 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 20:21:12 ] 誤解とは?OSレベルのプロセスじゃないよってことかい?
560 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 21:02:42 ] >>559 うん。 それわかってて期待はずれならプロセス計算(代数)にも期待はずれなのかと。
561 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 04:38:07 ] >>560 ErlangでGHC(KL1)の処理系を書けばいいんじゃないの。
562 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 05:46:13 ] >>561 GHC(KL1)は各ゴールがプロセスでErlangよりたくさんプロセスを使うから >555にはやっぱり期待はずれだろうね
563 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 06:14:43 ] >>562 GHCが問題なのではなくて、Erlangのプロセス管理を 生かす事例という意味だが。
564 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 08:16:18 ] programming erlangは並列経産の本じゃなくてerlangのチュートリアルだから 仕方ない。erlangを使って、openmpとかMPIとかMapReduceとかやればいいじゃない
565 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 16:13:54 ] >555は並列に何を期待しているのか?
566 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 16:52:15 ] >>565 次元の壁を越えた美少女達とのお付き合い
567 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 02:45:28 ] これの実用的なライブラリってある?rubyでいうrailsくらいの
568 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 21:31:34 ] 誰か!誰かエスパー呼んできて!
569 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 20:05:56 ] ないだろ。別にエスパーよばんでも
570 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 08:17:56 ] あればもっと流行ると思うんだけどね てか言語の流行る流行らないは実用的ライブラリが揃ってるかどうかが大きい
571 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 20:46:24 ] 関数型で流行ってるのなんてないだろう。
572 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 00:05:48 ] こういう時やたらHaskellを推してくる人がいるけど、そいつが実際どれだけHaskellでコード書いてるのか知りたい。
573 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 00:15:30 ] >>572 >こういう時やたらHaskellを推してくる人がいる どの人の事?
574 名前:デフォルトの名無しさん [2008/11/08(土) 00:18:25 ] ただの妄想だろう
575 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 01:02:36 ] 「やたら〜する人がいる」 「みんな言ってる」 は大抵1人とか二人とかだよな
576 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 01:19:55 ] だから数字にすることに意味があるんだね。
577 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 01:21:21 ] 以前初心者オススメスレにHaskellを推しまくってるヤツがいたよなwww あまりに変だったからさらに不自然なHaskell狂信者風なのが出てきてネタにしてたwww
578 名前:a36 ◆K0BqlCB3.k mailto:sage [2008/11/08(土) 01:29:47 ] >>572 まぁ、人にはいえないあんなことやこんなことに使ってます。 Haskellでスタンドアロンアプリを書くことは滅多にないのですが、 とあるHaskell用のライブラリを作って公開しています。(本家にリンクがある) 論文を書くときにHaskellを題材に使ったりすることもあります。
579 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 08:28:49 ] 企業でHaskell,Erlang,Lisp,Prologなどを使う場合は 使ってることも何に使っているかも秘密にしておくよ。
580 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 08:40:59 ] >>575 どういう風に統計とったの? 妄想?
581 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 09:03:24 ] >>572 >こういう時 どういう時?
582 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 22:02:30 ] >>580 そうみんな言ってた
583 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 22:10:23 ] ワロタww
584 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 04:28:11 ] この言語はよっぽどネタがないんだな ということが分かるやり取り
585 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 05:38:37 ] >>559 どういうこと
586 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 14:23:44 ] 仕様が成熟している、利用者がいない、のどちらかまたは両方
587 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 14:29:34 ] >>586 erlangが普及しない理由 1. 遅い 2. 関数型言語 3. ネイティブが吐けない 4. 実行方法が異質 5. (ほぼ)サーバー特化
588 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 17:43:37 ] 遅い、ネイティブが吐けないとかはpythonとかでも同じじゃんか なのにpythonは普及している。 関数型言語ってのが普及しない一番の理由じゃないかな、実用的に見て
589 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 18:50:38 ] >>588 pythonはライトウェイト言語であって、erlangとは領域がまったく違う。 プロセスは軽いが処理自体は低速。 サーバを停止しなくても修正ができるというのはメリットだが、 そういう機能が必要なければバイナリが吐けたほうが都合が良い。 それにC++でも軽いソフトウェアスレッドのライブラリは存在するから もはやプロセスが軽いというのはさほどメリットでもない。 関数型言語としてはHaskellやOCamlのほうがすぐれている。
590 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 18:52:44 ] あくまでこれは俺がこの言語を選択しない理由として挙げているだけ。 erlangはどんな言語か知っているけど、あえてこの言語を選ぼうとは思わないんだよ。 サーバーを書くときは簡潔に書けるから便利ではあるけど。
591 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 18:55:00 ] スタンドアロンなツール類を書くならやっぱりC++だろうな。 WEBアプリを書くならRubyかPHPかPerlだし、俺自身はPythonという選択肢はない。 サーバーならerlangかhaskellが書きやすい。 それぞれ使いわけでいいじゃん。 サーバー書く人が少ないっていうのが一番大きい理由じゃないの?
592 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 20:30:25 ] すごいな。ErlangもC++と対等に語られるようになったか。
593 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 21:13:43 ] オブジェクティックでフォンクティックな言語があればいいのに
594 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 21:53:38 ] >>593 "object oriented" functional language でぐぐったら、なんかいっぱい出てくるぞ。 でも実用にできるのはOCaml, Scalaくらい?
595 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 22:18:51 ] CLOS(Lisp)、あとOzとか オブジェクト指向ベースに関数型の機能を取り込むアプローチだと、 まあ高階関数ぐらいなら比較的新しい言語はどれも持ってる
596 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 23:16:53 ] 高階関数それ自体がマルチコアを生かすようなバイナリに繋がると良いが、原理的にそんなことないわな。 しかし今だ考え方はプロセス・スレッド止まりだし。 もっとまったく新しい考え方って何かないのかね
597 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 00:48:27 ] Objective Erlang的なの作ればいいんでね?
598 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 00:54:49 ] Erlang使ってない俺が言うのも何だが、流れはEW氏に来たということか。
599 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 02:39:00 ] 開発を手続き型言語以外でやってる会社とかないよな 関数型はオナニー
600 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 03:21:58 ] Diceあたりで検索かければ出てくるよ。少ないけど。
601 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 13:59:37 ] >>599 Schemeで書かれたピンボールとか出てこようかという ご時世に、ずいぶん乗り遅れてますねあなた
602 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 23:24:30 ] >>599 今の教育課程でパンピーの知能じゃ無理でしょ。まだだいぶ先の話じゃないか、 関数型つか並列資源を存分に使いこなすプログラミングなんて。
603 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 08:46:24 ] >>601 やっとピンボールですか。 手続き型なら30年前にできてたので、ずいぶん乗り遅れてますね。
604 名前:EW mailto:sage [2008/11/15(土) 10:41:08 ] >>597 Erlangが目指すところはオブジェクト指向と相反するような気がしますね。 カプセル化などは便利だと思いますが、インスタンスを使いまわすというのは かなりイケてないことだと思います。 それがおkなら、変数への再代入なども許可しているでしょうし。 おそらく、可能な限り「状態依存を無くす」というのが、 Erlangの基本コンセプトなのではないかと思います。 >>598 僕が使っているのはあんまり上等な代物じゃないですよ。 個人レベルで手抜きをしているだけであって、本来なら綿密なデバッグが必要となる 危険なプログラムだと思います。 余談ですが、来年から planet lab のメンバーに加わることになりました。
605 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 11:29:08 ] >>603 その理屈では機械語以外は全て遅れている言語ですよ。 脳味噌大丈夫ですか?
606 名前:a36 ◆K0BqlCB3.k mailto:sage [2008/11/15(土) 11:44:09 ] >>602 今の大学生は提出課題ですら他人のコピーだから、 FizzBuzz問題すら解けない子が多いよ。
607 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 12:36:47 ] >>605 きみこそ脳みそ大丈夫? 高級言語が機械語より遅れてるの当たり前じゃないか。
608 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 12:43:43 ] >>606 昔の大学生も、FizzBuzz問題すら解けない子おおかったと思うが。
609 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 14:32:15 ] >>607 しょうがないよ、君の理屈だとそうなるんだから(605の理屈ではない)。
610 名前:EW mailto:sage [2008/11/16(日) 23:20:23 ] 2つ以上のイベントドリブン形式のプロセスが相互に通信しあうというモデルでは 複雑なトランザクションを記述するよりも、 プロセスがメッセージを受け取ったら、 「新しいプロセスを作り処理させて、その結果を返す」 という手法のほうがプログラムを組みやすいみたいですね。 AがBに処理を依頼 BがAに対してある処理をさせる。 Bはその結果を受け取る。 そして処理を続行し、完了するとAに値を返す という処理を書いたのですが、逐次プロセスのみだと処理が複雑になって アウトでした。自分の意図しないところでデッドロックやバグがおきまくりました。 AとBの処理を新しいプロセスを立ててやらせると、かなり簡単に動きました。 なかなか便利な手法です。
611 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 01:00:47 ] AがBに依頼した処理をBがAに処理をさせる?
612 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 01:12:02 ] AとBでコルーチン的に処理をさせたいってことじゃね?
613 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 03:04:20 ] 名古屋コーチンがどうしたって?
614 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 20:29:56 ] 名古屋撃ちなら知ってる
615 名前:EW mailto:sage [2008/11/17(月) 21:54:07 ] 612の方が指摘している通り、コルーチン的に処理するってことです。 純粋な逐次プロセスでコルーチンを実装すると、その処理をやっている間は 第三者からのアクセスに反応できないため問題がありました。 並列で新しいプロセスを作ると、コルーチンを分解できるんで シンプルになりましたということです。
616 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 22:28:39 ] >>615 権利義務の関係で処理すればいいんですね。 それぞれのプロセスはメッセージを受け取り自分を使わせる代わりに、 質問者を制御するメッセージを応答に付加できる。 そして、質問者はこのメッセージをevalことを義務付けられている。 これだけで>>610 は実現できます。
617 名前:616 mailto:sage [2008/11/20(木) 06:48:07 ] これではダメでしたね。 質問者は最初の質問に対してサーバから一度応答を 受けてそこで完了してしまいます。実際にはさらに続いていて、 質問者側の情報をサーバが得て本回答を送ってくるのですが、 それを受け取るのは、最初の質問者が設定した質問ではないですね。 サーバ側によって仕組まれた、バックグラウンドでの質問です。 これを質問者が最初の質問の回答と見なすのは困難ですか・・・。
618 名前:616 mailto:sage [2008/11/20(木) 07:26:58 ] できるだけプロトコル化しないのがスマートと思ったのですが、 破綻しました。keep-alive状態を保って再質問するのが質問者 となるように仕組むことはできますが、 再質問は(最初の質問+質問者側でエバッた値)を引数に与えなくてはならず 複雑ですね。
619 名前:616 mailto:sage [2008/11/20(木) 07:55:21 ] それにBは最初のAの質問に回答しないで、Aから情報収集してから 回答を用意するのが>>610 の仕様ですね。全然ダメですね。 お騒がせしました。>>616->>619 までは無視してください。
620 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:41:22 ] >>616-619
621 名前:EW mailto:sage [2008/11/21(金) 10:13:54 ] やっていることとしては loop(State) -> receive 1 -> spawnA, NewStete = State 2 -> spawnB, NewState = State 2' -> setState, NewState = 更新 end loop(NewState). みたいなのをイメージして頂ければいいと思います。 somefunc() -> sendA receive sendB receive return Value とやると、その間は処理がストップする(loopがreceiveできない) ので、新しいプロセスを独立させてそこでコルーチンlikeな処理をして その結果をloopに対してメッセージとして送っています。 上記の方法は柔軟性が増しますが、代わりに厳密性を失っています。 そのコルーチン処理がプロセスの状態に関るものであるならば危険なプログラムなので 使用しないほうがいいと思います。
622 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 14:42:15 ] vistaで erl -name hoge とするとAPPCRASH(StackHash_e52f)で起動できないのですが、 何が悪いのでしょう? R12B-5(Erlang (BEAM) emulator version 5.6.5)です。 Microsoft Office IME 2007だとStackHash_e52fが起きるらしいのでMicrosoft IMEに してみましたが、効果無しでした。
623 名前:EW mailto:sage [2008/12/10(水) 11:56:36 ] >>622 ごめんなさい。分からないです。
624 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 00:20:13 ] おれはXPで動けばいいと思ってる
625 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 23:28:46 ] 》624 なんで?
626 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 16:34:11 ] vistaはmeと同じ運命だからじゃないかい?
627 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 19:08:43 ] そのmeを3年使った俺への当てつけか? それにどうせ7はvistaの発展なんだから、vistaがmeと同じ立場というわけにはならないよ。
628 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 19:14:02 ] そうだよな。7のカーネルはVistaと同じ、バージョン6.xなんだよな。 どの辺りが7なのか未だにわからない。
629 名前:デフォルトの名無しさん mailto:sage [2008/12/14(日) 05:56:13 ] MSも必死だからな
630 名前:デフォルトの名無しさん mailto:sage [2008/12/14(日) 12:19:25 ] 名前なんて飾りです
631 名前:622 mailto:sage [2008/12/14(日) 22:53:41 ] >>623 どうもありがとうございます。 -snameは動くので、ローカルなネットワーク限定で遊ぶことにします。 vistaで使っている人はいないのか…
632 名前:デフォルトの名無しさん [2008/12/15(月) 20:05:56 ] で、そろそろアーランを使用した基幹システム開発導入事例とか 出てきてもいいと思うんだ 通信以外の用途で
633 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 13:20:47 ] io:fwriteでファイルに書き出すときは文字列のエスケープをしないのに コンソールに出力するとUTF8の多バイト文字が皆エスケープされてしまうのだけど これを抑止することできますか? ファイルからテキスト処理してコンソール上で確認してるとことごとく\227,\130,\143…みたいになっちゃって 涙が
634 名前:EW mailto:sage [2008/12/22(月) 21:59:14 ] >>663 Erlang本には多バイト文字の扱い方が書いていないことは確かです。 正直、ファイル処理ですら相当危ういと思います。 ファイルにそのまま出力できたのは、UTF8の文字を認識しているのではなく 「バイト列をそのまま書き込んだから同じになったに過ぎない」という程度だと思います。 おそらく、ちょっと手を加えるだけで、ファイル出力も一瞬で文字化けするような気がします。 とりあえず、コンソール(コマンドプロンプト)が、EUCやShift-Jisになっていないかを 確認して、それでも駄目ならかなり厳しいんじゃないかと思います。 (だって、開発国の言語であるスェーデン語ですら文字化けするぐらいですし・・・・)
635 名前:デフォルトの名無しさん mailto:sage [2008/12/23(火) 21:03:44 ] >>634 不当なシーケンス食わせてもそのまま保持してくれるので(pread)コンソールでの エスケープだけやめてくれれば十分な場合がほとんどだと想うのですが パッチ自分で入れないとなんないとすると面倒だなぁ(ファイルにログ吐くとUTF8通るのに、コンソールだとアレみたいな)
636 名前:デフォルトの名無しさん [2008/12/26(金) 17:37:08 ] ErlangのWindowsバイナリーってWin95、Win98にインストール可能?
637 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 03:34:03 ] >>636 FAQにはサポートされていると書いてあるけど 執筆日時が記述されていないから 自分で試すしかないと思うよ。 8.4 What operating systems does Erlang run on? www.erlang.org/faq/faq.html
638 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 09:21:35 ] >>637 何とか古いPC引っ張り出してやってみたけど ダメだった。VCのランタイムとかいろいろ いるみたい。
639 名前:デフォルトの名無しさん [2009/01/13(火) 18:06:16 ] ↑↑馬鹿だろ
640 名前:デフォルトの名無しさん [2009/01/25(日) 09:12:34 ] 最近、Erlangに興味を持ってネット上の入門レベルサンプルを動かしているんですが、 エミュレータ(erlコマンド)を使っている時に、BIFのパラメータ説明を調べる手間を 少なくする方法を模索中です。 現在使っている方法は、 ・Googleで検索(Erlang keysearch など)して、使用例を見つけたら文法を推定する。 ・Concurrent Programming in ERLANG のPDFファイル内で検索 ですが、皆さんはどうやって調べてるんでしょうか? 宜しければ、御教示願えると助かります。
641 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 21:41:46 ] >>640 Linuxでやっているので,man pagesをインストールしておいて, たとえば ets:new とかなら,man ets してから less上で new を検索してる man pages はDownloadページにリンクがあるけど, 普通の本体とは別なので,別途DLしてインストールが必要. 最新だとこれ>www.erlang.org/download/otp_doc_man_R12B-5.tar.gz
642 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 23:09:49 ] emacsのerlang-modeマジオススメ。 "M-x erlang-man-module"→"module:function"で直接manを検索できる。
643 名前:デフォルトの名無しさん [2009/01/27(火) 20:50:35 ] >>641 ,642 レスが遅くなりましたが、有り難うございます。 という訳でLinuxをインストール後さっそく導入してみました。 man pages、Emacsのerlnag-modeの他に、Distel ↓というのを見つけたので 少し使いこんでみたいと思います。 ttp://code.google.com/p/distel/downloads/list