5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【関数】Erlang【エリクソン】

1 :デフォルトの名無しさん:2007/04/14(土) 00:59:19
いいからやってみ

2 :デフォルトの名無しさん:2007/04/14(土) 01:10:55
2get

3 :デフォルトの名無しさん:2007/04/14(土) 01:26:07
eclipseのプラグインあるのな

4 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2007/04/14(土) 01:51:44
>>5
それはよくある関数型言語に対する誤解。
実際は、副作用を隔離出来たり、あたかも副作用じゃないように書けるというだけ。

9 :デフォルトの名無しさん:2007/04/14(土) 01:54:36
http://ja.wikipedia.org/wiki/Erlang

10 :デフォルトの名無しさん:2007/04/14(土) 01:56:50
なんかたってるw
個人的にはポストjava候補だが、知名度低いよな〜

11 :デフォルトの名無しさん:2007/04/14(土) 01:59:19
ここが日本では一番古くて一番詳しいね

ttp://www.kmonos.net/alang/etc/erlang.php

12 :デフォルトの名無しさん:2007/04/14(土) 01:59:25
歴史はあるんだがな…

13 :デフォルトの名無しさん:2007/04/14(土) 02:00:53
落とせ
http://www.erlang.org/

14 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2007/04/14(土) 02:50:42
おまえの人生のだめだめさには遠く及ばんよ。関数型言語関連スレを荒しているキチガイさん。
>>15 >>16 の僅か 2 レスでよくそこまで低能を晒せるもんだと関心するよ。
まぁ、荒しすらちょっとお前ににゃ荷が思いんじゃねーの?どこでそんな妄想したのー?バカ丸出しだよ?

18 :デフォルトの名無しさん:2007/04/14(土) 02:54:20
>>17
では、Erlangの良いところは何?

19 :デフォルトの名無しさん:2007/04/14(土) 02:59:21
これ動的束縛な言語だけど、速度はどんなもんなの?
Wings 3D は結構サクサク動くんだよね。

20 :デフォルトの名無しさん:2007/04/14(土) 03:33:13
>>18
http://www.erlang.org/download/erlang-book-part1.pdf

21 :デフォルトの名無しさん:2007/04/14(土) 06:27:42
これでも見て落ち着け
http://www.youtube.com/watch?v=uKfKtXYLG78

22 :デフォルトの名無しさん:2007/04/14(土) 08:06:16
>>21
こっちがフルバージョン
http://video.google.com/videoplay?docid=-5830318882717959520

23 :デフォルトの名無しさん:2007/04/14(土) 08:06:52
O'ReillyにErlangの本が出版予定になってる。(ただし、出版元はPragmatic Bookshelf)
盛り上がりつつある、のかな?

24 :デフォルトの名無しさん:2007/04/14(土) 09:59:57
Erlang良いんだけど、すげぇ好きなんだけど、日常業務に持ってくるにはどうしても文字コードの壁が。
utf-8食わせるとバイトの細切れにされちゃう。



25 :デフォルトの名無しさん:2007/04/14(土) 10:21:14
yawsとmnesia駆使して業務システム作ってみたい

26 :デフォルトの名無しさん:2007/04/14(土) 12:38:20
>>3
あるよ
http://erlide.sourceforge.net/

27 :デフォルトの名無しさん:2007/04/14(土) 12:47:04
haskellよりライブラリが充実してるので実用的だといえる。
が、記述はhaskellより冗長になりがち。

28 :デフォルトの名無しさん:2007/04/14(土) 14:16:11
あげるの

29 :デフォルトの名無しさん:2007/04/14(土) 14:19:44
実は隠れファンが多い?

30 :デフォルトの名無しさん:2007/04/14(土) 14:22:09
分散が簡単に書ける

31 :デフォルトの名無しさん:2007/04/14(土) 14:24:09
変数を小文字で書いてハマるのはお約束。

32 :デフォルトの名無しさん:2007/04/14(土) 14:42:23
交換器で使われてたんだっけ?

33 :デフォルトの名無しさん:2007/04/14(土) 14:50:50
>>17
キチガイは俺だー。残念でしたーっと。
やる気ないけど、便乗で勉強してみたいと思うので教えれ。


34 :デフォルトの名無しさん:2007/04/14(土) 14:55:44
日本語の情報が少ないな。
しゃーね、英語読むか・・・orz

35 :デフォルトの名無しさん:2007/04/14(土) 15:18:15
>>17
釣れたようだな

36 :デフォルトの名無しさん:2007/04/14(土) 16:47:53
>>32
mjd?ちょっと勉強しとこうかな・・・

37 :17:2007/04/14(土) 17:34:03
>>33 残念ってなんだよ?いっとくが俺はプログラムなんてあんまり知らないよ。
暇潰しにバカいじりにきただけだもん。バカの必死な自演を見たいだけ。
公式サイト一通り読んでみただけ。まぁ「勝手に並列処理って触れ込みだけど」とか
いうアホには笑わっせてもらった。

はやくバカさらしてくれねぇかなー。他のスレで待ちぶせたほうがいいのかな?

38 :デフォルトの名無しさん:2007/04/14(土) 18:16:47
他所でやれ

39 :デフォルトの名無しさん:2007/04/14(土) 18:25:08
あっちの釣りスレにはとんと寄り付かないんだな。
もしかしてかなりマジ入ってて、荒らす余裕もなかったりして

40 :デフォルトの名無しさん:2007/04/14(土) 18:37:23
はやくエープリルフールにならねえかな

41 :デフォルトの名無しさん:2007/04/14(土) 20:22:16
>>37ってなんでいつもテンパってるの

42 :デフォルトの名無しさん:2007/04/14(土) 20:36:07
http://rucila.s43.xrea.com/memo/?date=0304

43 :デフォルトの名無しさん:2007/04/14(土) 21:14:07
無知の知を恥と感じる類いの下等生物だから。

44 :デフォルトの名無しさん:2007/04/14(土) 21:20:29
>>41 お、キテるね。「いつもテンパッてる」って。いつも => どんな妄想? テンパってる => どこが?
なに、妄想のなかでは俺が涙目みたいな?いやー、そんな妄想はホラーだね。ゾっとするね。

45 :デフォルトの名無しさん:2007/04/14(土) 21:40:57
次の患者さん、どうぞ。

46 :デフォルトの名無しさん:2007/04/14(土) 22:06:38
予想通り、版画がスレ破壊してやがる。
こいつ悪金にすべきだろ。

47 :デフォルトの名無しさん:2007/04/14(土) 22:12:25
>>46
抑鬱性神経障害による妄想と診断しました。早急に病院に行くように。

荒しはスルーでお願いします。

次の患者さん、どうぞ。


48 :デフォルトの名無しさん:2007/04/14(土) 22:16:29
やっぱり版画か。死ね。

49 :デフォルトの名無しさん:2007/04/15(日) 00:22:08
なぜこんなレアな言語のスレを荒らすのか理解できないな。
どうせならHaskellの本スレにいけよw

50 :デフォルトの名無しさん:2007/04/15(日) 01:02:26
絡むと自分まで利口に見えてくる集団なら、どこでもいいんだろう。
だからまぁ、CやPerlやHSPのスレには現れないだろうな。

51 :デフォルトの名無しさん:2007/04/15(日) 01:10:39
「Haskellに絡めば利口に見える」という発想に衝撃を受けた。。。
そんな勉強は普通学校時代に済ませとくもんだろ。

52 :デフォルトの名無しさん:2007/04/15(日) 01:41:52
関数型言語は概して小難しそうという風潮はあったよ。
単にきちんと説明出来る人がいなかっただけだったけど。
最近は Haskell の名前を出すのがちょっと恥ずかしいくらい
知識が普及して来ているよね。だから、ここらで Erlang に
手を出してみようかという機運が上がるのも分からない話では
ない。特に言語マニアを自任している様な人達なんかは。

53 :デフォルトの名無しさん:2007/04/15(日) 01:42:57
なんでお前の話って、相手に合わせてすぐに論調がコロコロ変わるの?
一貫した主張を持っているとは思えない。

54 :デフォルトの名無しさん:2007/04/15(日) 01:46:31
>>53
貴様の敗因は相手が一人だと思っている事だ。。。
誰を思い描いているのかしらんけどね。

55 :デフォルトの名無しさん:2007/04/15(日) 01:51:10
あらあら口調がすっかり乱暴者になってますよ。
三時間もてめぇの煽りにつきあってやったのに、
まだ何か溜まってらっしゃるのですか?

56 :デフォルトの名無しさん:2007/04/15(日) 01:52:39
悪金に出来ない以上、版画の煽りは完全無視するしかないだろ。スレがだめになる。
自演も激しいけど、とにかく完全無視。


で、使ってる人は居るんか?

57 :デフォルトの名無しさん:2007/04/15(日) 01:55:02
なんだてめぇが煽ってきた癖に、最後は責任転嫁か
めでてぇな

>で、使ってる人は居るんか?

以前から興味はあるが、触ってはいない。

58 :デフォルトの名無しさん:2007/04/15(日) 01:55:07
何の話だか分からんけど、間違えられて煽られるのは変な感じだね。
純粋に煽る事が目的の人は何が面白いのかしらんけど、そういう人を
観察出来るのが 2ch の醍醐味でもあるね。

59 :デフォルトの名無しさん:2007/04/15(日) 01:56:37
2ちゃんにしか居所がないような奴に
性格悪い奴が多いのは承知の事だから、
機械的に煽りに対応してるだけだ。
気にせず話題を先に進めるべし

60 :デフォルトの名無しさん:2007/04/15(日) 02:00:05
じゃ、Erlang に足りない機能は何?

今まで上がったのは native thread 対応と Unicode 対応だけど、
native thread 対応してないんだっけ?

61 :デフォルトの名無しさん:2007/04/15(日) 02:00:57
そんな話題、自分で調べろよ。


62 :デフォルトの名無しさん:2007/04/15(日) 02:03:23
Erlang のマクロって名前の置き換えだけ?
それとも Lisp みたく構文木を弄れるの?

63 :デフォルトの名無しさん:2007/04/15(日) 02:11:02
>>59
機械は頼みもしない同一人物妄想しませんよ。

64 :デフォルトの名無しさん:2007/04/15(日) 02:13:12
>>62
へぇ。Erlangのマクロってどんなのなんだい

>63
キミがとても異常な人物である事は良く判った

65 :デフォルトの名無しさん:2007/04/15(日) 02:13:35
>>51
> 「Haskellに絡めば利口に見える」という発想
そんな発想は誰もどこにも書いてないじゃん。

66 :デフォルトの名無しさん:2007/04/15(日) 02:14:49
>>64
2ちゃんにしか居所がないだけあって、性格悪いですねえ。

67 :デフォルトの名無しさん:2007/04/15(日) 02:16:10
この時間帯はどのスレに行っても異常人物が書き込んでいるようだな。

68 :デフォルトの名無しさん:2007/04/15(日) 02:17:35
>>67
さっき某所で煽られまくってたアホが奮起して
全部のスレ荒しまくってる所だろ。
スルーしておけ

69 :デフォルトの名無しさん:2007/04/15(日) 02:18:22
まぁなぁ。
妄想を爆発させて自分の複数の話し相手を同一人物だと思い込んだ挙げ句
それを機械的な対応とか言い出す異常人物には事欠かない時間帯だ。

70 :デフォルトの名無しさん:2007/04/15(日) 02:18:28
native thread 対応してるみたいね。中々良いんじゃない、これ?

71 :デフォルトの名無しさん:2007/04/15(日) 02:18:38
>>67 
その異常人物、池沼とか呼ばれてる奴だよ。

72 :デフォルトの名無しさん:2007/04/15(日) 02:20:01
普通の人は寝てる時間だからなあ。

73 :デフォルトの名無しさん:2007/04/15(日) 02:22:18
プログラマが普通の人なわけないって言えばまぁそれまでなんだが

74 :デフォルトの名無しさん:2007/04/15(日) 02:26:39
判りきってる話だが、この手のスレって
もう何年も前から荒ししか居ねぇじゃん。

まともな会話できる人間、こっち来ないかな

75 :デフォルトの名無しさん:2007/04/15(日) 02:27:26
煽りに反応してるあんちゃん、>>56でいこうぜ。


>>70
そうなん?ソースplz
http://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 :デフォルトの名無しさん:2007/04/15(日) 02:32:01
>>75
早速情報サンクス。
magnitudeってのはこの場合なんだろね?

ところで。ここ荒してるのは版画?とかいう奴ではなく
いつもプログラム板荒してる例の彼だ。間違いない。

77 :デフォルトの名無しさん:2007/04/15(日) 02:32:30
Erlangまとめwiki

ttp://www32.atwiki.jp/erlang/

78 :デフォルトの名無しさん:2007/04/15(日) 02:33:39
>>77さんはErlangで何をしたいのですか?

79 :デフォルトの名無しさん:2007/04/15(日) 02:35:08
>>74
まともな会話のできる人間がこっちに来ても、
まともじゃないあなたとはまともな話が成り立たないのでは?

80 :デフォルトの名無しさん:2007/04/15(日) 02:36:47
>>77
作成日4/13って・・・お疲れ様!

81 :デフォルトの名無しさん:2007/04/15(日) 02:38:02
>>78
まぁ普通はプログラミングでしょう。

82 :デフォルトの名無しさん:2007/04/15(日) 02:38:13
>>75
http://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

http://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 :デフォルトの名無しさん:2007/04/15(日) 02:40:43
まだリンクが出てなかったみたいなんで。

http://www.planeterlang.org/

ネタが無いなら、ここから話題を拾っていくと面白そうだね。

84 :デフォルトの名無しさん:2007/04/15(日) 02:43:24
>>79
まぁ落ち着いて落ち着いて。
ここ数年、一部分野で異常者が長期間出没していたので、
私自身ここ1〜2年ほど2ちゃんから遠ざかっていた。

この3月、時間的ゆとりができたので久々に2ちゃんを見たら、
どうもかつて同じ仕事をやっていた知り合いが
数年前と同様にあちこちでトラブルを起こしていた。
そこで、そいつに付き合って、そいつがこれ以上悪さをできないように
歯止めをかけて回っていました。
そのためにプログラム板が荒れたようであれば、申し訳ない。
また、その過程で私自身の書き込みが多少ひねてしまってきているのも
否定しようがない。
だが、現実世界に悪影響を与える行動を2ちゃんで繰り返している人物は
誰かが止めなきゃならん。

そういう事だ。

85 :デフォルトの名無しさん:2007/04/15(日) 02:46:58
もういいよ、その話は。
このスレに、異常者が来なければ済む話だ。

86 :デフォルトの名無しさん:2007/04/15(日) 03:05:14
いまのところ異常者しか書き込んでいないから、道は険しいな。

87 :デフォルトの名無しさん:2007/04/15(日) 03:05:33
>>65
 >>50

88 :デフォルトの名無しさん:2007/04/15(日) 03:08:12
>>85
あなた自身は異常者ではない、
これまで2ちゃんで他人と匿名で誹謗中傷した事がない、
と証明できますか?
あなたは信用に値する人間ですか?

89 :デフォルトの名無しさん:2007/04/15(日) 03:09:57
自分が信用に値する人間であると証明せずに、
相手を誹謗中傷するのは、誤った姿勢だ。

90 :デフォルトの名無しさん:2007/04/15(日) 03:10:30
CEAN つうのが Perl でいう CPAN みたいな物なのかな。

http://cean.process-one.net/

91 :デフォルトの名無しさん:2007/04/15(日) 03:11:54
情報の出し方、Wikiのまとめ方を見て、
あまり信用に値する人間とは思えない。

92 :デフォルトの名無しさん:2007/04/15(日) 03:20:03
豆腐のキレっぷりに爆笑www
貴様は負け犬なんだからムリすんな

93 :デフォルトの名無しさん:2007/04/15(日) 03:23:03
>>87
Haskellという単語さえ出てこないんですが・・・。

CやPerlやHSPといった、正真正銘の超初心者や子供が多数現れるスレは
さすがにターゲットにしないが、それ以外はどこでもいいんだろう、と言っているわけです。

94 :デフォルトの名無しさん:2007/04/15(日) 03:26:51
異常者ばっかりでついていけない or キモい

95 :デフォルトの名無しさん:2007/04/15(日) 03:29:16
まわりがみんなおかしいと思うときは
大抵自分がまずおかしくて、すべてはおかしいが故の判断なんだよ。

96 :デフォルトの名無しさん:2007/04/15(日) 03:29:40
俺の場合は学生時代から関数言語love

当時の手近な環境ではgoferしか動かなかったけどな

97 :デフォルトの名無しさん:2007/04/15(日) 03:30:33
荒らしに構う奴は荒らし。突っ込みたくてもグッと堪えて、大人になりましょう。



日本でいじってる人ハッケソ
http://jijixi.azito.com/cgi-bin/diary/index.rb?category=Erlang

98 :デフォルトの名無しさん:2007/04/15(日) 03:31:55
いきなりこけた

99 :デフォルトの名無しさん:2007/04/15(日) 03:53:45
煽り耐性が異常に低いスレw

スネに傷をもったケダモノは反応が良いな

100 :デフォルトの名無しさん:2007/04/15(日) 03:57:55
イジメ甲斐があるよなぁ、ここの連中はww

101 :デフォルトの名無しさん:2007/04/15(日) 04:05:17
異常者濃度が異常に高いスッドレ

102 :デフォルトの名無しさん:2007/04/15(日) 04:21:31
このスレは二次情報ばかりで
実際に手を動かしている形跡がないな。

103 :デフォルトの名無しさん:2007/04/15(日) 04:28:54
それで良いんだよ。問題無い。

104 :デフォルトの名無しさん:2007/04/15(日) 04:32:30
いみふめ

105 :デフォルトの名無しさん:2007/04/15(日) 04:36:08
これが例のトラブルメーカーのスレか

納得した

106 :デフォルトの名無しさん:2007/04/15(日) 06:24:09
資料大嫌いな業務コンサルちゃんが
精一杯の嫌がらせをしたつもりのスレ
として見ると、内容の空虚さも納得できるな。

調査目的や調査項目の不明確さ、価値判断の回避、取り敢えずこれで業務アプリ作ればすごい筈だ的超楽観主義etc,etc
ダメな奴は何をやってもピント外れだ

107 :デフォルトの名無しさん:2007/04/15(日) 06:43:25
「Javaの代わりに新しい言語をどっかから見つけてきて(w
 若くて優秀な連中集めて実用アプリケーション作りました、
 だから俺は偉いんです
的な発想が評価されるのは20代までだ。



108 :デフォルトの名無しさん:2007/04/15(日) 08:27:47
頭がおかしい人は、とにかくレスを欲しがっています。
レスをしたら、あなたは荒らしの共犯者です。


電話システムみたいな社会インフラで実際に使われてるってのは、
性能や品質面も含めて実用性が期待できるな。

109 :デフォルトの名無しさん:2007/04/15(日) 09:29:46
頭がおかしい人は、とにかくレスを欲しがっています。
レスをしたら、あなたは荒らしの共犯者です。


目先の開発言語をいくら変更しようと、
どんなに素晴らしいシステムコンポーネントを導入しようと、
業務コンサルの知性ではその性能を発揮させる事はできません。

ある業務コンサルは、マルチスレッドプログラミング上のノウハウを
知らなかったために、金融証券系基幹システムの開発で
デスマーチを起こしました。
このような人物が、初物言語を使って実用システムの開発を行ったら、
どのような惨事が発生するか、想像するのも容易でしょう。

110 :デフォルトの名無しさん:2007/04/15(日) 11:14:08
平気で差別的な発言をする奴は品性が狂ってる(プゲラ

それより、副作用のあつかいがメッセージでどうのってあるけど
どういうことなのかねぇ

111 :デフォルトの名無しさん:2007/04/15(日) 11:20:33
(プゲラ ぇ
まで読んだ

112 :デフォルトの名無しさん:2007/04/15(日) 13:14:48
>>111
そこまでっていうか、そこだけ読めば十分なのがすごいよね。

113 :デフォルトの名無しさん:2007/04/15(日) 17:25:59
まとめサイト書き換えてみた。
関数型で並列てのは面白いところだと思うので、いろいろみてみる。
http://quasiquote.org/log2/Erlang
この辺見ると、ドライバってのと、gen_server等のsupervisorによってworker群で副作用を扱えるらしい。
gen_serverってのの使い方が分かるといいみたい。supervisorってなにというかんじだなぁ。


114 :デフォルトの名無しさん:2007/04/15(日) 17:32:14
頑張って下され。

115 :デフォルトの名無しさん:2007/04/15(日) 17:36:19
>>113
付属ドキュメントの「Design Principles」を読むべし

116 :デフォルトの名無しさん:2007/04/15(日) 17:51:34
なにがどこにあるかわからないので、適当にマクロとか読んでみてた。
超適当な訳をwikiにものせといたよ。
-define(Const, Replacement).
-define(Func(Var1,...,VarN), Replacement).
マクロはこんなかんじで、Cっぽく、関数風のマクロもあるらしい。
さてこれが、ハイジニックなのかどうかが疑問ですな。

117 :デフォルトの名無しさん:2007/04/15(日) 18:04:20
日本のErlang使い 追加

ttp://d.hatena.ne.jp/erlang/

118 :デフォルトの名無しさん:2007/04/15(日) 21:39:38
http://web.archive.org/web/20030228034710/http://ha9.seikyou.ne.jp/home/eajes/erlang/
マニュアルの翻訳が昔あったみたい。


119 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2007/04/15(日) 22:26:28
>>119
ディレクトリ指定してコンパイルしてる?

123 :デフォルトの名無しさん:2007/04/16(月) 22:58:17
仕事場にこっそり環境仕込んできた。
同僚のマシンにもこっそりしこんできた。
こっそり分散やるぜ。

124 :デフォルトの名無しさん:2007/04/17(火) 02:13:40
ほうほう

125 :デフォルトの名無しさん:2007/04/17(火) 23:16:13
だれかハローワールド書いてくれ

126 :デフォルトの名無しさん:2007/04/17(火) 23:27:34
広域WEBもといオブジェクトRPCはWEBのキモンだからな、応援するぜ


127 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2007/04/18(水) 00:25:51
今夜はなんでこんなに素人がのさばってんの?

129 :デフォルトの名無しさん:2007/04/18(水) 00:41:04
>>128
この場でのプロを定義してくれよ(嗤


130 :デフォルトの名無しさん:2007/04/18(水) 00:41:44
元々おかしな人しか居ない。

131 :デフォルトの名無しさん:2007/04/18(水) 00:48:32
io:format("hello world~n", []).
なのでしょうかねぇ。

132 :デフォルトの名無しさん:2007/04/18(水) 00:53:59
io:format("~s ~s~n", ["hello","world"]).
な風に書けるんだねぇ。
~がエスケープシーケンスなんだねぇ。


133 :デフォルトの名無しさん:2007/04/18(水) 01:09:09

まで読んだ

134 :デフォルトの名無しさん:2007/04/18(水) 01:10:17
痛いのが炸裂状態

135 :デフォルトの名無しさん:2007/04/18(水) 01:12:27
io:format("~w ~w~n", [hello, world]).
こうもかけるんですねぇ。
面白いですねぇ。


136 :デフォルトの名無しさん:2007/04/18(水) 01:27:57
幼いネェ

137 :デフォルトの名無しさん:2007/04/18(水) 04:48:44
io:format("~s", [binary_to_list(<<"Hello",16#20,375531924580:40,$!,$\n>>)]).
バイナリがおもしろい。

138 :デフォルトの名無しさん:2007/04/18(水) 05:01:29
io:format("~s", [binary_to_list(<<36#FG3H7VQW0Y58PTWSI77U:104>>)]).

139 :デフォルトの名無しさん:2007/04/18(水) 05:33:30
これでいいのか。
io:format(<<36#FG3H7VQW0Y58PTWSI77U:104>>).

140 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2007/04/18(水) 12:52:00
>>140
同じ。ソース(io.erl)見れ。

142 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2007/04/18(水) 22:46:43
お前らProgramming Erlang嫁。必ず満足する

144 :デフォルトの名無しさん:2007/04/18(水) 23:16:12
日本語に訳せや

145 :デフォルトの名無しさん:2007/04/18(水) 23:18:36
業務コンサルにはムリ

146 :デフォルトの名無しさん:2007/04/20(金) 06:30:47
確かに、英語も読めないDQNのために労力割くなんて
物好きじゃないと無理だよな。

147 :デフォルトの名無しさん:2007/04/20(金) 14:03:49
Apolloポケットガイド邦訳WIKI
http://labs.anthill.jp/wiki/apollo/index.php?FrontPage
みたいに、著作権をクリアーにして、
翻訳者募ればいいんだろうなぁと思う。
たぶんその辺は、
http://wikibana.socoda.net/wiki.cgi?Wiki%be%ae%cf%c3%2fVol%2e2
ここで話されてたんだと思う。
俺は著作権とかどうでもいいかんじだったので、
悪いことをずっとしてきてたのかなぁと思いまして、
自己嫌悪でやる気も出ず、消えてなくなりたい今日この頃です。

148 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2007/04/21(土) 12:52:20
>>149
erl -pa (アプリケーションのebinディレクトリのパス) で起動かな。
まあ、ceanのlibを丸ごとerl5.5.4/libにコピるという荒技もなくはないけど。

151 :デフォルトの名無しさん:2007/04/21(土) 14:16:24
>>150
どうもです。
-paで起動してみて、それでも不都合があるようならコピーしてみます。

152 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2007/04/21(土) 17:02:31
>>152
Windowsのパス形式(c:/〜)でも大丈夫でした。どうもです。

154 :デフォルトの名無しさん:2007/04/21(土) 17:11:58
cean:available() で先頭に出てくるアプリ名、この名前はないだろ・・・。

155 :デフォルトの名無しさん:2007/04/26(木) 22:40:51
age

156 :デフォルトの名無しさん:2007/04/28(土) 00:11:46
http://www.atmarkit.co.jp/news/200704/27/erlang.html
twitterでも使ってるのか。ばりばり実用だな。

157 :デフォルトの名無しさん:2007/04/28(土) 11:52:54
Erlangとはすごいなつかしい。
15年くらい前にちょこっといじったことが
あるよ。

158 :デフォルトの名無しさん:2007/04/28(土) 11:58:31
>>156
ejabberd使ってるのか。
次はRoRをerlywebにおきかえてもらいたいな。

159 :デフォルトの名無しさん:2007/04/29(日) 03:39:31
このマッタリ感はいい意味でやばいな。おまえら密かに猛烈な勢いで習得してるだろw

160 :デフォルトの名無しさん:2007/04/29(日) 04:11:43
これは来年あたりAdaが流行るな

161 :デフォルトの名無しさん:2007/04/29(日) 09:30:10
俺はもう飽きた。がんばってな〜

162 :デフォルトの名無しさん:2007/04/30(月) 00:14:02
お前らっていっても数人程度だと思うが。

163 :デフォルトの名無しさん:2007/05/03(木) 16:44:13
void()を返す関数ってどうやって定義すんの?
STDLIBにはそういう関数あるんだけど(help()とか)、ソースをざっと
眺めた限りでは、最終的にどっか別の関数呼び出してるのばっかりで、
最後のところまでたどり付けない……。

164 :デフォルトの名無しさん:2007/05/03(木) 17:18:51
>>163
void() の例を探してみたけど、ok を返してるだけだったよ。
それをドキュメント生成ツールが void() と表記してるっぽい。

165 :デフォルトの名無しさん:2007/05/03(木) 20:25:51
>>164
thx, なるほど。それで文法の方にそれらしき情報が載ってなかったわけか。

166 :デフォルトの名無しさん:2007/05/04(金) 02:55:40
printf相当なio:formatはあるのに、sprintf相当な関数はないのかな?

167 :デフォルトの名無しさん:2007/05/04(金) 04:12:46
>>166
つio_lib:format

まあ、Erlangのライブラリってどこに何があるか分かりにくいよね。
文字列の大文字小文字変換(to_upper, to_lower)が httpd_util なんてところにあったり。

168 :デフォルトの名無しさん:2007/05/04(金) 12:13:49
ぐぁ、予想外というか、完全に盲点だった>>167
stringあたりを探してたですよ。感謝。

169 :デフォルトの名無しさん:2007/05/05(土) 16:21:36
javaには勝てねぇよw

170 :デフォルトの名無しさん:2007/05/07(月) 02:31:19
Erlangで書かれたCometなチャット
http://blog.mikage.to/mika/2007/05/erlangcomet_5353.html

171 :デフォルトの名無しさん:2007/05/07(月) 09:53:03
>>170
いいね。

高度な要求をすれば、

・-behaviour(gen_server). を使ってほしい
・process dictionaryよりもmnesiaとかにデータを保管してほしい

ってところだな。口だけクンですまん。

172 :デフォルトの名無しさん:2007/05/07(月) 11:16:14
それは(Erlang的には)高度ではなく、わりと基本的な要求だと思う。

173 :デフォルトの名無しさん:2007/05/07(月) 21:08:31
で、言語仕様か実装の国際化対応がグダグダなために結局日本では流行りそうにないという
多くの関数型言語と同じ道をたどる悪寒はない?

174 :デフォルトの名無しさん:2007/05/08(火) 00:51:59
>>173
既にそうなってます。

つかutf-8->UCS4のマッピングだけでいいから裸の一文字を一文字で認識してホスィ


175 :デフォルトの名無しさん:2007/05/08(火) 08:12:19
確かに、バイトのリストと文字のリストは区別してほしいな

176 :デフォルトの名無しさん:2007/05/09(水) 21:48:10
この辺気になる。
http://mono.kmc.gr.jp/~yhara/d/?date=20070505
SDLつかってげーむつくれんのかねぇ。ねぇ

177 :デフォルトの名無しさん:2007/05/10(木) 03:45:23
ErlangはWindows対応が雑だよ。HiPEもSMPサポートもないし。
俺もiconv動かせなくて困ってる。

178 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2007/05/23(水) 00:57:24
話題になってるからインスコしてみたらwindowsだと-smpつかえないじゃん。
んだそれ。

180 :デフォルトの名無しさん:2007/05/23(水) 01:42:43
Windowsなんて使ってるやつはばかです

181 :デフォルトの名無しさん:2007/05/23(水) 02:45:29
Linuxなんて使ってるやつはもっとばかです

182 :デフォルトの名無しさん:2007/05/23(水) 10:48:36
Solaris最高

183 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2007/06/05(火) 23:31:39
>>186
サポートってなんだよ。
誰に期待してんだ?

188 :デフォルトの名無しさん:2007/06/06(水) 00:26:29
レンタルサーバの話でもしてんのかな

189 :デフォルトの名無しさん:2007/06/06(水) 00:30:16
趣味のレンサバだったら自分でバイナリインスコ出来る所は幾らでもあるでしょ。

190 :デフォルトの名無しさん:2007/06/06(水) 00:43:01
多数のプロセッサを使って並列実行するのがおいしいErlangをレンタルサーバで?
そんな鯖借りれるのか?クアッドコア×4とか使ってみてぇ

191 :デフォルトの名無しさん:2007/06/06(水) 01:38:10
別にリソースが貧弱な環境で動かしていけない訳でもあるまい。
実行環境がしょぼくても、並列処理を書き易いのは充分メリットなんじゃないの。

192 :デフォルトの名無しさん:2007/06/06(水) 01:43:24
コンパイラはあるぞ。
ただし、それが実行形式のファイルってわけではなく、あくまで動作環境の整備は必要。

個人に配布するとかになると、ユーザーに環境を入れてもらうと言う不便さはある。
その辺もう少しうまい事出来ないものかな。

bittorrentとか、今流行のp2pツールとかだと、結構威力を発揮しそうなのに・・・


193 :デフォルトの名無しさん:2007/06/06(水) 14:23:19
>>191
いけなかないがメリットがわかんね
使えるリソースがないのに並行プログラミングする理由は?
趣味なら全然ありだが>186はそういうことじゃないよね

194 :デフォルトの名無しさん:2007/06/06(水) 14:27:19
組み込みとかだとスレッドのオーバーヘッドだけでも無駄すぎ

195 :<>:2007/06/06(水) 21:10:10
EricssonのATMスイッチがErlangで書かれていたりするので
性能が悪いというわけではない。

196 :デフォルトの名無しさん:2007/06/06(水) 21:32:23
>>186 のどこら辺から趣味じゃないって読み取れるのか分からんが、
パラレルに書いた方が書き易い処理だったら、それで充分理由になるだろ。

197 :デフォルトの名無しさん:2007/06/07(木) 00:44:42
>>196
趣味でサポートしてる鯖を気にするとは想像が及ばなかったよ

198 :デフォルトの名無しさん:2007/06/07(木) 00:49:41
サポートってランタイムがプリインストールされているって意味で書いてるんでしょ。
それも想像が及ばなかった?

199 :デフォルトの名無しさん:2007/06/07(木) 01:01:35
趣味で使うなら自分でインストールすりゃいいんじゃねーの?
だから微塵も想像しなかったな
つかどーゆー趣味だよ?w

200 :デフォルトの名無しさん:2007/06/07(木) 01:14:17
そろそろレスすんの面倒くさくなってきた。
普通のレンサバは自分でインスコ出来ないのも多いよ。
想像が及ばなかったのかもしれんけどさ。

201 :デフォルトの名無しさん:2007/06/07(木) 01:17:03
趣味でレンタル鯖でErlangてのが全く想像できなかったんだよ
今も何がしたいのか想像つかないけどな。もーいーだろ

202 :デフォルトの名無しさん:2007/06/07(木) 01:18:35
レン鯖でマイナー言語使えないなんて文句言っても・・・

203 :デフォルトの名無しさん:2007/06/07(木) 02:45:00
どう考えても、趣味でレン鯖で使いたいが
一般的なレン鯖では、自分で環境をインストール出来ない事も多い。
だから、コンパイルしてネイティブとして動かせないか?って話だろ。



204 :デフォルトの名無しさん:2007/06/07(木) 03:10:45
なんで必死になってるの?

205 :デフォルトの名無しさん:2007/06/07(木) 03:14:53
どっちが必死になってることやら・・・
何度も指摘されてるんだから、そのまま流すか認めりゃいいのに・・・
他人の話なんだし、必死で否定する意味がわからん。

苦しい言い訳っつーか、何でそこまで言い訳するのかがわからん。

それともErlangを普及させたくないから妨害工作か?
おもっくそ使わせたくない雰囲気がプンプンする

206 :デフォルトの名無しさん:2007/06/07(木) 03:17:01
俺これが3レス目だが・・・

>そのまま流すか

これを自分には適用しないで人にだけ求めてるのが滑稽すぎるw
しかも工作とか言い出したよw

207 :デフォルトの名無しさん:2007/06/07(木) 03:23:39
とりあえずウザイ
不毛な煽りがやりたいなら来るなよ。それだけ無益な書き込みしてりゃあ、立派な工作員だよ

208 :デフォルトの名無しさん:2007/06/07(木) 03:24:31
おまえが言うなw

209 :デフォルトの名無しさん:2007/06/07(木) 03:43:52
俺は>>192しか書き込んでないわけだが・・・


210 :デフォルトの名無しさん:2007/06/07(木) 03:45:54
もうほっとけって
そいつは、エリクソンとか大企業のシステム以外の一般向けのシステムで使われると何か困る事情があるんだよ。
smpが効率的に活用できる事だけが、Erlangのプロセスの利点だと主張して普及を潰したいんだろ。


211 :デフォルトの名無しさん:2007/06/07(木) 03:51:06
凄い妄想力

212 :デフォルトの名無しさん:2007/06/07(木) 03:57:43
本人登場w
(なぜ本人といえるかは少し考えればわかる)

213 :デフォルトの名無しさん:2007/06/07(木) 04:01:30
で、何がしたいのさ

214 :デフォルトの名無しさん:2007/06/07(木) 04:04:28
こんな過疎スレ荒らしに来て何が楽しいんだろうな('A`)

215 :デフォルトの名無しさん:2007/06/07(木) 04:46:14
伸びてると思ったらこのザマ

216 :デフォルトの名無しさん:2007/06/07(木) 06:55:39
被害妄想で架空の工作員とか設定しだすとろくなことがないよ。

217 :デフォルトの名無しさん:2007/06/07(木) 12:01:58
このスレが勢い良いのって、こんな流れのときだけだな。

218 :デフォルトの名無しさん:2007/06/07(木) 12:14:04
この板の大半のスレッドがそうだろう

219 :デフォルトの名無しさん:2007/06/07(木) 21:20:09
レン鯖でコンパイルして動かしたってせいぜいCGIとしてくらいしか無理じゃね?
それじゃErlangの甲斐がない。

220 :デフォルトの名無しさん:2007/06/07(木) 22:15:51
俺はcgiとしても動かしたいけどなぁ
あのerlangのプロセス使い捨て開発技法は惚れた。


221 :デフォルトの名無しさん:2007/06/07(木) 22:54:10
甲斐なんて無くて良い
甲斐がある所でしか使いたくないという気持ちが理解出来ん
何にでも使ったらええよ

222 :デフォルトの名無しさん:2007/06/08(金) 00:33:36
自分ちのマシンで存分にやりゃいいじゃん

223 :デフォルトの名無しさん:2007/06/13(水) 12:42:07
よい情報
http://www.kmonos.net/alang/etc/erlang.php

224 :デフォルトの名無しさん:2007/06/13(水) 15:04:35
>>11

225 :デフォルトの名無しさん:2007/06/13(水) 22:00:27
勉強会なんてあるんだね
ttp://wiki.fdiary.net/erlang/

226 :デフォルトの名無しさん:2007/06/28(木) 02:04:52
>>222
同意

どれだけ貧乏な奴なんだと呆れ返った

227 :デフォルトの名無しさん:2007/07/09(月) 23:10:54
松本が日経ソフトウエアで次に来るぜみたいなこと言ってたけどあまりにもマイナー過ぎる件

228 :デフォルトの名無しさん:2007/07/10(火) 23:39:10
キミがマイナーだと感じるスレッショルドは
アンテナの高い開発者にとってはバズワードな件

229 :デフォルトの名無しさん:2007/07/11(水) 00:58:56
これはバズワードの典型ですな>「まつもと」

230 :デフォルトの名無しさん:2007/08/31(金) 18:51:51
あげろよ・・・

231 :デフォルトの名無しさん:2007/08/31(金) 19:06:03
すっかり飽きられた感があるな

232 :char:2007/08/31(金) 19:27:49
まだだ、まだ終わらんよ!

233 :デフォルトの名無しさん:2007/09/01(土) 08:51:23
あまりにも短いブーム

234 :デフォルトの名無しさん:2007/09/01(土) 09:08:49
Programming Erlang読んでるがな

235 :デフォルトの名無しさん:2007/09/29(土) 22:27:42
>>231
> すっかり飽きられた感があるな

× 飽きられた
○ 食い散らかし連中には難し過ぎて分からなかった

236 :デフォルトの名無しさん:2007/11/08(木) 08:22:39
Programming Erlangはつまらなかった
つまらない言語は使い物になる
ということなのかもしれない

237 :デフォルトの名無しさん:2007/11/09(金) 05:19:29
柏原 正三『プログラミング言語Erlang入門』
ttp://www.amazon.co.jp/dp/4756150705/
『Programming Erlang』に手が出せなかった人には朗報か

この著者ってC/C++/Javaの本でよく見かけるから
保守的なイメージあったんだけど
こういう人がErlangの本出すっていうのは少し意外

238 :デフォルトの名無しさん:2007/11/09(金) 08:10:07
Erlangって保守的な気がするけど。

239 :デフォルトの名無しさん:2007/11/26(月) 17:36:37
Ocamlよりもおもしろそうだね。
ちょっと>>11をみたけど、 ;;よりも.の方が個人的にしっくりくる。


240 :デフォルトの名無しさん:2007/11/27(火) 07:46:46
そんな部分で決めるのですかよ

241 :デフォルトの名無しさん:2007/11/27(火) 07:53:01
OCaml が嫌いな人はあの変態表記を受け入れられない人が多いんじゃないかな
Perl に対する嫌悪感に似ているかも

242 :デフォルトの名無しさん:2007/11/28(水) 00:47:30
大抵の言語には得意な応用があるから、適材適所でいいんじゃね?
と言っても沢山覚えるのも面倒なんで、互いに補完しあうように4、5つくらいあれば良い。
Erlangで感動した例は、他の言語だったら巨大配列を使うような応用を、大量のプロセス生成でこなしたやつ。

243 :デフォルトの名無しさん:2007/11/28(水) 00:51:03
>>242
>大量のプロセス生成

文字で見ただけで頭が痛くなる。
icsw, icsw, icsw...

244 :デフォルトの名無しさん:2007/11/29(木) 06:16:33
ところで、論理型で並列な言語ってあるの?

245 :デフォルトの名無しさん:2007/11/29(木) 07:07:17
Concurrent Prolog
Guarded Horn Clauses (GHC/KL1/KLIC)


246 :デフォルトの名無しさん:2007/11/29(木) 07:19:09
>>244
織田信長
http://pc11.2ch.net/test/read.cgi/tech/1047230229/l50

247 :デフォルトの名無しさん:2007/11/29(木) 08:27:35
>>245>>246

レスどうも。織田信長とは面白い名前ですね。

248 :デフォルトの名無しさん:2007/11/29(木) 08:40:16
>>244
Erlang 的なものとしては Oz (mozart)がある。

249 :デフォルトの名無しさん:2007/11/29(木) 09:51:41
>>244
Parlogってのもある。

250 :デフォルトの名無しさん:2007/11/29(木) 13:10:19
>>244
FLENG
PANDRA
P-Prolog

251 :デフォルトの名無しさん:2007/11/29(木) 13:33:47
へーいろいろあるんですね。
いつも思うんですが、そういう変わった言語
のコンパイラ作れる人ってすごいですよね。

252 :デフォルトの名無しさん:2007/11/29(木) 17:47:41
>>251
プログラミング研究なんかで、実験的に仕様の小さい言語を作る場合だったら
yaccなんかのパーサ生成ツール+諸々で済ますことも有る。


253 :デフォルトの名無しさん:2007/11/29(木) 22:36:49
なるほど、関数型言語や論理型言語もyaccでいけるわけですね。

254 :デフォルトの名無しさん:2007/11/29(木) 23:04:18
>>253
パーサはな!

255 :デフォルトの名無しさん:2007/12/01(土) 13:51:03
ブーム復活!!!!!!!!!!!!!!
http://www.thinkit.co.jp/free/article/0711/4/4/

256 :デフォルトの名無しさん:2007/12/02(日) 17:51:41
↑ そのページ分かりにくい

257 :デフォルトの名無しさん:2007/12/02(日) 19:30:14
公式のチュートリアルいいよ

Erlangはライブラリも結構揃ってるし
あとはマルチバイト文字さえ簡単に扱えれば・・・

258 :デフォルトの名無しさん:2007/12/05(水) 05:56:15
プログラミング言語Erlang入門ゲット。

259 :デフォルトの名無しさん:2007/12/05(水) 08:16:01
分かりやすい?

260 :デフォルトの名無しさん:2007/12/05(水) 22:21:48
HaskellといいOcamlといいErlangといい、マルチバイト文字をまともに食える
処理系が存在しない限り日本でのブレイクなんて絶対にあり得ないのに
性懲りも無く火をつけようとする人が後を絶たんなぁ。

261 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2007/12/06(木) 00:04:07
リテラルでソースコード中に記述した日本語文字列が
きちんと日本語として扱える処理系が欲しいという事
なんじゃないかな。length("日本語") が 3 を返す様な。

265 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2007/12/06(木) 00:39:02
ttp://www.erlang.org/doc/programming_examples/bit_syntax.html#4

267 :デフォルトの名無しさん:2007/12/06(木) 15:03:38
>>264
ソースコードに日本語を書くやつはバカです

268 :デフォルトの名無しさん:2007/12/06(木) 17:17:22
>>267
つ バカ言語「ひまわり」

269 :デフォルトの名無しさん:2007/12/06(木) 18:15:52
>>267
なんだそりゃ?


270 :デフォルトの名無しさん:2007/12/06(木) 18:20:27
ソースコードに日本語書いて何が悪いんだ
日本人にとって日本語は便利だぞ

271 :デフォルトの名無しさん:2007/12/07(金) 07:35:55
>>270
> ソースコードに日本語書いて何が悪いんだ


272 :デフォルトの名無しさん:2007/12/07(金) 07:54:00
>>271
そりゃ君

273 :デフォルトの名無しさん:2007/12/07(金) 12:14:33
>>271
かのファインマンだって日本語習得は断念したほど難しいんだぜ

274 :デフォルトの名無しさん:2007/12/08(土) 01:43:00
>>270
>>267 は日本語を扱えないコンパイラが多かった時代の技術者か、
外国人も参加しているオープンソースプロジェクトのコミッタか、
そのどちらか

275 :デフォルトの名無しさん:2007/12/08(土) 05:17:50
>>274
今でも、日本語混ぜてねぇ・・・・とか思うんだが
どうせソース読むのは英語も曲がりなりにでも読めるようなやつらばっかっしょ。
メッセージ分離がいいと常から思う身としては、>>267に同意してしまう。



変数、関数名とかまで日本語サポートしてるなら
むしろ、ガンガン日本語で行って見ても面白いかも。とかとも思ってるけどねw

276 :デフォルトの名無しさん:2007/12/08(土) 14:00:55
でもリテラルに日本語を書いてはいけない事について
説得力ある説明は出来ないんでしょ?

それならただ単にバカと言いたいだけと思われても
仕方がないよ。

277 :デフォルトの名無しさん:2007/12/08(土) 14:10:07
特に REPL がある言語で、対話的にコードを入力する場合は、
メッセージ分離なんて考えずに、生の日本語文字列を直接入力
したくなるのは当然じゃないかな。

278 :デフォルトの名無しさん:2007/12/08(土) 17:05:35
Erlangがマルチバイト文字をサポートしていない理由は、その出自にあると聞いた事がある。
もともとエリクソンで通信インフラ用言語と開発された際に、超高速のプロセス生成、強力な
並列処理のトレードオフとして、データを「どこの国の言語で書かれた文章」かを判別しない、
としたとの事。
一般アプリを書く者として、Erlang使うなら日本語処理ライブラリが欲しい、というのは同意。



279 :デフォルトの名無しさん:2007/12/08(土) 17:32:43
↓を思い出した
--
オープンソースのイベントで、

質問者「オープンソースは英語が使えないとなかなか使えないところがありますが」

壇上者「いえ、日本人は英語が使えないと言われていますが、そんな事はありません。
その使う気があれば、だれでも英語の掲示板でも普通に会話できるので問題
にはなりません」

質問者「そうですか……ありがとうございました(T_T)」

というのも言葉の壁だね。


280 :デフォルトの名無しさん:2007/12/08(土) 18:18:40
おもしろい。

281 :デフォルトの名無しさん:2007/12/08(土) 18:49:32
>>279
ある意味真実だろ。
なんで完璧な言葉でないとダメだと思い込むのか不思議でしょうがないと感じる事あるんだけどなぁ。
支那やインドから来日したエンジニアが完璧な日本(英)語話したりしないのを微笑ましく思うのに自分等が英語での会話に完璧な表現力を必須としたがるんだか。

#完璧じゃなきゃ困るのは契約書だけだぜ

282 :デフォルトの名無しさん:2007/12/08(土) 19:18:47
281は279に書かれたやりとりが通じていないのではないか?

283 :デフォルトの名無しさん:2007/12/08(土) 19:54:54
>>282
エリートの傲慢ってやつだろ。


284 :デフォルトの名無しさん:2007/12/08(土) 20:04:08
壇上者は、エリートの傲慢だと思ってしまうのは卑屈すぎるって
言いたかったんだろうね。俺もそう思う。

285 :デフォルトの名無しさん:2007/12/08(土) 22:15:05
>>284は典型的なエリートの傲慢の誇示


286 :デフォルトの名無しさん:2007/12/08(土) 22:23:39
本当のエリートの傲慢はこんな感じだぜ。

壇上者「いえ、あなたが英語を使えないのは分かっていますが、それだけではありません。
その気があれば、誰だって英語で普通に会話出来るのに、その事にすら気付いてないのが
問題です。あなたはいつも大切な事を見逃しますね。ふふん。」

287 :デフォルトの名無しさん:2007/12/08(土) 22:26:39
とフランス語で語るのである。

イヤミのキャラが「おフランス」と言いながら一人称がmeなのをが面白い事がわかったのは中学に入ってから。


288 :デフォルトの名無しさん:2007/12/08(土) 22:57:24
で、Erlangの話はどうなったのさ

次のリリースではiconv同梱にしてワイドキャラクタ用関数実装とかしてくれたらなあ
遊びで使ってるユーザが自分でやるにはちと荷が重い

289 :デフォルトの名無しさん:2007/12/08(土) 23:12:15
どっかのblogで本が取り上げられたからお客さんが増えるかな・・・

290 :デフォルトの名無しさん:2007/12/08(土) 23:56:28
日本語が読めない人が読むコードのコメントに日本語で書くやつはバカ
英語が不自由な人が読むコードのコメントに英語で書くやつはバカ

291 :デフォルトの名無しさん:2007/12/09(日) 00:55:22
>>290
割と柔軟だなw

292 :デフォルトの名無しさん:2007/12/20(木) 13:55:16
コメントを書かなければ何語に不自由な人に読まれても大丈夫

293 :デフォルトの名無しさん:2007/12/21(金) 01:56:47
>>279
腐ったインターフェイスのアプリでも我慢して使えって話をされているような・・・

294 :デフォルトの名無しさん:2007/12/21(金) 07:23:48
間違った英語でグダグダ書くヤツは大馬鹿

295 :デフォルトの名無しさん:2007/12/28(金) 11:48:27
age


296 :デフォルトの名無しさん:2008/01/08(火) 08:25:16
ニュース貼っときます。
Amazonが、Erlangで動作する,オンラインDBサービス「Amazon SimpleDB」の限定ベータ提供を開始

Amazon,オンラインDBサービス「Amazon SimpleDB」の限定ベータ提供を開始
http://itpro.nikkeibp.co.jp/article/NEWS/20071217/289576/

AmazonのSimpleDBとIBMのBlue CloudがCloud Computingの発展を促す
http://www.infoq.com/jp/news/2007/12/simpledb

Amazon SimpleDB - Limited Beta
http://www.amazon.com/b?ie=UTF8&node=342335011

What You Need To Know About Amazon SimpleDB
http://www.satine.org/archives/2007/12/13/amazon-simpledb/



297 :デフォルトの名無しさん:2008/01/10(木) 18:05:44
コメント書かないとわからないコードを書くヤツは馬鹿です。
コメント書いてもらわないとコードが読めないヤツも馬鹿です。

298 :デフォルトの名無しさん:2008/01/12(土) 15:08:37
IDEが来ますぞ
http://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 :デフォルトの名無しさん:2008/02/05(火) 09:37:36
Ericsson内で十分実績あるだろ?

303 :デフォルトの名無しさん:2008/02/07(木) 14:47:13
JavaScriptを並列処理言語Erlangへコンパイルする"ErlyJS"とは
http://journal.mycom.co.jp/news/2008/02/07/010/index.html
> ErlyJSの開発ははじまったばかりだ。今後の展開に注目していきたい。

304 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/02/09(土) 22:43:41
ならないかな ← してみよう

307 :デフォルトの名無しさん:2008/02/10(日) 00:49:35
>>305
Java を Erlang VM で動かしたいという事なら、逆の方が良いんじゃないかな…

308 :デフォルトの名無しさん:2008/02/12(火) 22:45:24
ここは質問 Ok なんすかね? 最近かじってるんですが、
erlang って prolog に似てるけど prolog と違って先行評価ですよね。
ということは差分リストとかは使えない、ということでしょうか? 例えば
X = [1,2,3 | Y].
などとした場合、Y が未束縛だとエラーになってしまいます。
つか、先行評価なら Lisp の quote みたく評価を回避する手がありそうですが
見つけられませんでした。

309 :デフォルトの名無しさん:2008/02/13(水) 02:11:19
> X = [1,2,3 | Y].

何がしたいのかをもうちょっと具体的に書いてくれると、
何か教えることができるかもしれない。

310 :308:2008/02/13(水) 21:54:43
レスが遅れてすんません。平日は時間が取れなくて。

>>309
何がしたいとかではなくて、Prolog の本には必ず出てくる「差分リスト」という
データ構造が Erlang で使えるのかどうか気になっただけです。
差分リストは Prolog では常套的な手法なんですが、これが使えないと実現できない機能が
あるということもないので、使えないからダメとかいう問題ではありません。

差分リストを説明するのはちょっと難しいので省略します。私も Prolog が得意なわけじゃないのでw

311 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/02/20(水) 11:07:18
>>312
IOが超ボトルネック


315 :310:2008/02/20(水) 22:24:42
>>313
時々は見てます。クロージャで包んで遅延評価ですか、ナルホド。
私が意図したものとは違うけど、ちょっと面白いですね。
大モトのブログの記事を読むと、たらい回しプログラムは遅延評価が特に
必要というわけではないのに (もともと意味のない処理みたいだけどw) あえて
クロージャにする意図は実行効率にあるようで、その辺も興味深いです。

それと、ガウディ本の存在は知ってましたが分厚いので今まで敬遠してました。
Oz も どうせ Yet Another なハイブリッド言語だろうくらいにしか思って
なかったのですが、この辺見るとなかなか侮れない感じですね。
http://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に言及している部分。

まつもとゆきひろ×小飼弾対談 生き残るエンジニアとは?
http://www.atmarkit.co.jp/news/200803/13/survive.html

Q:いま注目している言語があるか?
A:日本語。英語以外でコンピューサイエンスを学べる日本は世界でもレアな国。
  20年後、Rubyを学ぶ際に英語を学ばないとRubyを学べない時代がくるかも
  しれないという心配がある
  Ruby以外ではErlangなど。なぜErlangか。将来のマルチコアに対応するには、
  いまのスレッドモデルでは限界がある。Erlangのプロセスモデル/アクター
  モデルというのは、その答えになるかもしれない。Rubyのようなプログラムに
  Erlangの機能を組み込むことを考えている。



320 :デフォルトの名無しさん:2008/03/14(金) 11:28:30
聞き飽きたぜ

321 :デフォルトの名無しさん:2008/03/14(金) 23:27:14
GUIライブラリとかってある?

322 :デフォルトの名無しさん:2008/03/14(金) 23:37:08
>>321
http://www.erlang.org/doc/apps/gs/index.html

323 :デフォルトの名無しさん:2008/03/16(日) 22:16:26
質問があります。

Erlangを覚えようと思うんですけど、手続き型言語しか使えません。
Lispを覚えてから学ぶべきですか?

324 :デフォルトの名無しさん:2008/03/16(日) 22:21:02
>>323
それはオススメできません
Erlangに行く前にLispだけで一生が終わってしまいそうです

なので出回ってる書籍や公式のチュートリアルで勉強して
分からないところをこのスレで聞いたらみんなが幸せになれると思います

325 :デフォルトの名無しさん:2008/03/17(月) 00:35:15
>>324
遅レスですが、ありがとうございます。


326 :デフォルトの名無しさん:2008/03/17(月) 21:41:15
すぐ真上のレスに遅レスはないだろう。。

327 :デフォルトの名無しさん:2008/03/18(火) 06:24:58
まぁ、当事者のリアルタイムの感覚がそのまま出たんだろう。
5分後にレスもらってたのに、つい2時間も放置しちゃって・・・、みたいな。

328 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/03/26(水) 23:33:26
erlideは触ったことないけど、これかな?
ttp://www.erlang.org/pipermail/erlang-bugs/2007-December/000553.html

いずれにしても、最初のうちは統合環境を使わないほうがいいと思います。

330 :デフォルトの名無しさん:2008/03/27(木) 00:05:45
>>329
詳しくないんですが、確かにioの可能性がありますね。
Errorもそんなこと言ってますし。

とりあえず確認したところ、Eclipseでのコーディングには問題がないので、
それをコンパイルして、beamファイルのある場所でErlangをターミナルから使うってのが
一番手っ取り早かったです。

他の言語はいくつか使えるんで、いきなりIDEを使ってたんですけど、
やっぱりセオリー通り、普通のエディタで書くべきかもしれないですね。

ありがとうございました。
原因や解決方法が分かったらまた書き込んでおきます。

331 :デフォルトの名無しさん:2008/03/29(土) 05:11:08
セオリーは「いきなりIDEを使わない」ではなく「いきなり完成度の低いツールを使わない」だ。
完成度の高いIDEならいきなり使っていい。

332 :デフォルトの名無しさん:2008/04/14(月) 22:12:08
Erlangで作ったプログラムを配布する場合、単独のexe形式にできますか?


333 :デフォルトの名無しさん:2008/04/15(火) 00:59:21
Erlangがインストールされてないマシンで動かせるかってこと?
もしそうだとしたら、無理だと思う。

334 :デフォルトの名無しさん:2008/04/15(火) 07:54:34
>>333
回答ありがとうございます。
無理ですか。残念。
他の言語を検討してみます。


335 :デフォルトの名無しさん:2008/04/21(月) 23:14:47
「小飼弾のアルファギークに逢ってきた」っていう本に
Dave ThomasがErlangの本を書いているって書いてあったんだけど
詳細が分かる人いますか?

07年7月に出版予定とか書いてあったけど、どうもAmazonの洋書でそれらしいものがない。

336 :デフォルトの名無しさん:2008/04/21(月) 23:36:22
だんに聞けば分かるんじゃね?

337 :デフォルトの名無しさん:2008/04/22(火) 14:14:55
Erlangの.beamファイルって、違うマシンでも動くの?

.erlをコピー、コンパイル、起動ではなく
.beamをコピー、起動とできるかということです。

338 :デフォルトの名無しさん:2008/04/22(火) 20:11:03
>>335
それはdaveが書いた本じゃない。
programmers bookshelf というところ(daveがからんでいる)
からもう出版されてる。
日本語訳もでたよ。

339 :デフォルトの名無しさん:2008/04/22(火) 22:18:29
プログラミングErlangのp.345の lib_chan_auth の中で使われてる
lib_md5って本に載ってないみたいだね。

親切な人が書いてくれたみたい(Mac FireFoxじゃ見れなかった)。
http://forums.pragprog.com/forums/27/topics/239

340 :デフォルトの名無しさん:2008/04/23(水) 20:21:38
ちゃんと勉強してるやつがいることに驚いた。
このスレは基本的にwikipedia的な情報についてばかり議論してるからなwwww

341 :デフォルトの名無しさん:2008/04/23(水) 23:02:30
erlangのライブラリのリファレンスってどこにあんの?
公式にあるかと思ったら見つかんね

342 :デフォルトの名無しさん:2008/04/24(木) 00:43:11
http://www.erlang.org/doc/

343 :デフォルトの名無しさん:2008/04/24(木) 08:51:20
ありがとう!

344 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/04/27(日) 21:43:07
本家サイトに本に載ってないソースがありました。
その中に、これも含まれているようでした。

>>345
それは便利そうですね。
簡単に試してみたのですが、別の用途に使えそうです。
ただ、今回の処理にはちょっと不向きっぽいかもしれませんな。

ありがとうございました。

347 :デフォルトの名無しさん:2008/04/28(月) 05:39:41
>>346
ソースコードたしかにありました。これはどういう意味なのですか。
Bindings = erl_eval:new_bindings(),

348 :デフォルトの名無しさん:2008/04/28(月) 06:07:31
>>346
string2value/1 は parse + eval なのですね。私は向井さんのPDFで
ソケットの読み書きの部分だけ切り取って使ってしまってソースの細部は
全然勉強していませんでした。Prologで共用データベースとしての
Prologサーバと通信しながら運用しているので、Erlangとも同レベルで
と思ってはいたのですが、この部分が分からず放ってありました。
一挙に解決しました。ありがとうございます。

349 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/04/28(月) 08:28:50
>>350に訂正
よく説明読むと>>347へのレスは間違いっぽい。

どっちもBindingStructから値を取り出すためのものみたいだね。
上はlistで、下はkeyでvalueを指定するようなもんか?
夜試してみます。

まず、Bindingが何なのかが良く分からん。
理解してないのに適当なこと言ってスマソ

352 :デフォルトの名無しさん:2008/04/29(火) 18:01:52
register(atom,Pid)
って、Pidが自分のノードの物じゃないときは無理?

353 :デフォルトの名無しさん:2008/04/30(水) 07:14:39
>>349
サーバーが返すのはPではなく評価値ということになるが
7) のP2のところを V = に値を保持すると置き換え
8) の単一化を削ると
関数型もまったく同じではないだろうか。Vに値を保持できないと
論理型に比べて使い勝手少々悪いのかな。



354 :デフォルトの名無しさん:2008/04/30(水) 09:43:17
プログラミングErlangの中盤のコードって難しすぎるよな。
IRCLiteとか関連する章を含めたら、あきらかに初心者向けの量じゃない。

355 :デフォルトの名無しさん:2008/05/01(木) 17:08:23
リファレンスマニュアルと平行してやらないと無理だよ。
あの本は「載ってないとこは調べろ」みたいなことが書いてあるじゃん。

356 :デフォルトの名無しさん:2008/05/15(木) 00:53:33
webページ作ったから、よかったら利用してみて下さい。
http://erlangworld.web.fc2.com/

357 :デフォルトの名無しさん:2008/05/15(木) 00:55:59
>>356
やるじゃん

358 :デフォルトの名無しさん:2008/05/15(木) 00:56:26
>>356
これはいい感じ。プログラミングErlangとあわせて読むか

359 :デフォルトの名無しさん:2008/05/15(木) 00:58:23
あれ?Erlangのwikiってなかったっけ?

360 :デフォルトの名無しさん:2008/05/15(木) 01:01:58
乙。しかし、charset位は指定して欲しい。
古くさいブラウザは自動認識してくれなかったりするのよ。

361 :デフォルトの名無しさん:2008/05/15(木) 01:15:07
文字コード直した。

とりあえず、Erlang信者を増やすことが俺の宿命。

362 :デフォルトの名無しさん:2008/05/15(木) 01:30:43
あんまり気負うとつかれちゃうからまったりいこうぜ


363 :デフォルトの名無しさん:2008/05/15(木) 02:08:21
サンプルプログラムが多いから分かりやすいな。

364 :デフォルトの名無しさん:2008/05/15(木) 20:33:16
>>361
arigato. 文体が平易なのがいいね。ちょっと勉強してみるよ。

365 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/05/15(木) 23:58:35
>>356
chapter4ってリンク切れしてるけど仕様?


367 :デフォルトの名無しさん:2008/05/16(金) 00:37:16
まだ作ってない。スマソ
もともとテンプレートをBIFの章のコピペで作ったんだけど、
構成変えちゃったからリンク切れになってる。

>>365
そういうのはすごい助かる。
更新の時に役に立つ情報は加えておくよ。
ありがとう。

368 :デフォルトの名無しさん:2008/05/16(金) 15:10:40
いいね。

369 :EW”管理”人:2008/05/17(土) 10:35:57
ちょっと質問があるんだけど、
マニュアルの和訳は、直訳がいい?
それとも、プログラム解説とか付け足したほうがいいい?

370 :EWの人:2008/05/17(土) 10:39:42
言い忘れましたが、今度からサイトに関することはコテ付きで書き込みます。
そのほうが分かりやすいと思うので。

371 :デフォルトの名無しさん:2008/05/17(土) 11:24:53
>>369
わかりにくいところは訳注とかで解説つけるといいんじゃないでしょか

372 :EWの人:2008/05/18(日) 23:39:36
ちょっと3日間ぐらい閉めます。
アクセスできると思いますが、サイト構成がぐちゃぐちゃかもしれません

373 :デフォルトの名無しさん:2008/05/20(火) 06:31:56
>EWの人
おお、すばらしいですね。
俺は飽きっぽいので翻訳すぐ飽きちゃった。
翻訳とかは結局、個人の力によるところが大きいのが現状だと思います。
EWの人は大きな戦力だと思います。
ぜひ、サイトの運営をながーく続けてください。

374 :EWの人:2008/05/20(火) 10:28:19
ありがとうございます。

体裁を整えているのですけど、WindowsのIEだとずれてますね。
友達のを使わせてもらって始めて気が付きました。
FireFoxよりめんどい。

375 :デフォルトの名無しさん:2008/05/20(火) 10:50:54
cssでするならもそっと単純なレイアウトにしないとブラウザに因っては血涙でるからねぇ。
ちょくちょく覗かせてもらいますんでがんばってくだされ。


376 :EWの人:2008/05/20(火) 11:44:11
自分の勉強も兼ねて気長にやっていきます。

あと、サイトに変なところ(間違い、分かりにくいところ、レイアウトが壊れてるなど)があったら、
このスレにでも報告してもらえると助かります。
間違いはバザール方式で探したほうが早いですから。

377 :EWの人:2008/05/20(火) 13:09:02
トップページのwindows IE google欄を修正しました。

378 :デフォルトの名無しさん:2008/05/20(火) 16:40:36
>EWの人
Install Erlangのページにtypo。
Dounloadサイト → Downloadサイト


379 :EWの人:2008/05/20(火) 20:59:54
ありがとうございます。
今日、明日と少しやることがあるので、更新は明後日以降になります。

あと、webページ制作に詳しい人にレイアウトのヒントを貰ったので、
少し構成を変えます。

380 :EWの人:2008/05/22(木) 15:56:56
構成を変えました。
menu部分とかは、変更がうざったいからスクリプトで生成するようにしました。

リンク切れ等がありましたら、ご連絡下さい。

381 :デフォルトの名無しさん:2008/05/22(木) 18:02:44
>>380
Erlangの勉強を始めたばかりの者です。 とてもいいページですね。
早速勉強がてら、リンク切れ検出をErlangで書いてみようとしました。
HTTP getまではすぐ書けたものの、レスポンスデータから例えば
http://erlangworld.web.fc2.com/
という文字を抜きだすところで方法を模索中。
まだ文字データの扱いをよく理解していないのですが、参考になる情報を
ご存知の方が教えて頂けると有難いです。

全体の方針は、
http://erlangworld.web.fc2.com/
 以外で始まるurlについては1次リンクのみチェックする。
(他サイト内のリンク切れまで深追いすると切りが無いので)
http://erlangworld.web.fc2.com/で始まるurl文字列を記憶しておいて
2回目に現れた同一urlから先はチェックしない。

参考にさせて頂いたurl:
http://blog.mikage.to/mika/2007/05/erlang_a3a2.html


382 :EWの人:2008/05/22(木) 19:58:20
利用して頂いてありがとうございます。

たぶん正規表現を使ってurlを抜き出すのでしょうね。
正規表現 url あたりでググったら、urlを抽出するパターンが出てくると思いますよ。
あとはそれをhtmlファイルの各行にマッチさせるのだと思います。

あとは抜き出したurlにアクセスを繰り返すのだと思います。

ただ、並列処理の部分は作り合わせなのでリンクが切れています。
今検索すると、そこばかりが引っかかってしまうかもしれません。

383 :デフォルトの名無しさん:2008/05/22(木) 21:30:28
>>382
情報、有り難うございます。
正規表現 url でググったら、perl (まだ使ったことが無い^^;)での例がありました。
perl、正規表現などを基礎から一回やってみた方が良さそうですので、ぼちぼち進めてみます。


384 :EWの人:2008/05/26(月) 20:28:24
今日は予定が開いていたので、少し更新しときました。

385 :デフォルトの名無しさん:2008/05/27(火) 23:35:38
ブームが去ったのに、ここだけ盛り上がってるな

386 :デフォルトの名無しさん:2008/05/28(水) 00:16:19
ブームなんてあったのか!?
流行がどうこうというより、面白い言語だから使うだけさ

387 :デフォルトの名無しさん:2008/05/28(水) 00:18:47
アーランはツウィッターブームと連動してるんだよ。

388 :EWの人:2008/05/28(水) 23:11:16
ちょっと更新しときました。

389 :デフォルトの名無しさん: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の人: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 :デフォルトの名無しさん: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:2008/05/30(金) 21:16:08
string:tokens(os:cmd("ps -ale"),[10,13]) のような場合ですね。

393 :EWの人: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: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:2008/05/31(土) 04:10:57
間違えました。
{ append,[1,2],[3,4],X } のXも問題なのでした。項を
関数評価させないことと、変数をエラーにならず
いかに表現するかが課題です。

396 :デフォルトの名無しさん:2008/05/31(土) 04:57:18
変数にエスケープ文字を付加しておいて、それをStringに
なってから変換(削除)するのかな。
それから、
リストの各要素もErlang側のString処理かあるいは、
Prologに渡ってから { } -> Prolog項 変換をしなくては
ならない。

397 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/05/31(土) 07:45:20
-module('曜日').
-export(['曜日'/1,'曜日検索'/1]).
'曜日'(20080531) -> '土曜';
'曜日'(20080601) -> '日曜'.
'曜日検索'(日付) -> '曜日'(日付).

でも大丈夫ですね。
?- _曜日 は 曜日:曜日検索(20080601).
_曜日 = '日曜'
多バイト文字だけで構成されるトークンが変数になるというのは
仕様とは思えないから、次のバージョンで使えなくなる
かも知れませんね。

399 :EWの人:2008/05/31(土) 08:43:20
Erlang以外の言語にタームを直接送信するというのが、
まず不合理なような気がします。
Xについても、指定する理由が良く分かりません。

複雑に考えずに、
asciiコードの配列に純粋に変換してみてはいかがでしょうか。
区切りは、特殊な記号(例えば@など)で作ってみてはどうですか。

たとえば、append@12@34

append
@
12
@
34

として、prolog側で@を目印に分解すると都合が良さそうな気がします。

上記の方法だとlistsの関数を使って変数同士を合体させるのですかね。
append(ListOfLists) -> List1

400 :EWの人:2008/05/31(土) 10:48:05
間違えました。
上の場合だとリストへの自動変換を行なってくれる
lists:concat(Things)のほうが良さそうです。

> lists:concat([doc, '/', file, '.', 3]).
"doc/file.3"

401 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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の人: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 :デフォルトの名無しさん:2008/06/01(日) 04:24:16
>>401
var(T) や list([1,2,3]) はどうするのw


405 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/06/01(日) 05:53:13
>>397
多バイト文字をバイトに分解して 8進表記で 300 以下になるバイトを
含むものはやはり、エラーとなるようです。
例 '評価'(評価) -> shop:cost(評価).

評価 は \311\276\262\301 になります。 276 262 を含みます。
ということで、やはり多バイト文字は使えませんね

407 :デフォルトの名無しさん:2008/06/01(日) 06:10:29
第1バイトがasciiコード >=128+65 かつ =< 90 の時は
変数として、 >= 128 + 97 の時はアトムのアトムとして
認識しようとしている。文字の中に英記号コード + 128 を
含むとエラーということのようです。

408 :407訂正:2008/06/01(日) 06:12:20
アトムのアトムとして -> アトムとして

409 :デフォルトの名無しさん:2008/06/01(日) 06:32:42
>>401
既存のProlog述語は多バイト文字の使用が当たり前だし、
やはり、Prolog側にErlangインターフェイス述語を用意
するのだろうね。既にあるProlog述語を利用するなら。
例 yobi(Hiduke,Yobi) :- 曜日(_日付,_曜日).
のような。必ずprolog_callのような述語で呼ばれるのなら、
>>399 >>400 のような簡易表現でやりとりするのも、
ありかな。XMLに変換して渡すというのもあると思う。
それ以前に、 Prolog項 -> Erlang関数 変換は簡単なので、
Erlangに移植する方が効率がよい場合も多いのではないか。


410 :407訂正:2008/06/01(日) 06:36:11
>>409
日本語の移植が困難なのでこんな試みをしているのですw

411 :デフォルトの名無しさん:2008/06/01(日) 06:38:58
名前、消すの忘れてた。 407とは関係がないレスでした。ちなみに使用ブラウザはおちゅーしゃ。

412 :デフォルトの名無しさん:2008/06/01(日) 06:53:26
ところで、既存のPrologのコードでどうしてもここは
Erlangでというようなところがあるのだろうか。
どこかのサイトでリアルタイム性のあるスケジューリング問題を
挙げていたが。1996年のINAPでのErlangチュートリアルで
この問題が出ていたようだが、英語でよく判らなかった。


413 :409:2008/06/01(日) 07:12:02
yobi(Hiduke,Yobi) :- 曜日(Hiduke,Yobi).
だった。訂正。


414 :EWの人:2008/06/01(日) 09:50:36
Prologが分からないのに適当なこと言ってすいませんでしたwww
未熟なため、論点が少しずれていたようです。

そういえば、卒論をErlangで書くことになりそうです。

415 :デフォルトの名無しさん:2008/06/01(日) 11:32:21
まあ歴史があってライブラリもそれなりに整備されてる、いい言語だと思うけど
データベースが付属しているってのが、こんなに便利だとは思わなかった

416 :デフォルトの名無しさん:2008/06/01(日) 13:05:32
俺が使いたいライブラリは何一つ実装されていない。

417 :デフォルトの名無しさん:2008/06/01(日) 15:11:26
ないものは作れ

418 :デフォルトの名無しさん:2008/06/01(日) 16:02:25
スレに活気が溢れてきたな

419 :デフォルトの名無しさん:2008/06/01(日) 16:22:22
>>417
実装されるまでErlangは使わない。
既に実装されている言語を使う。
目的をはき違えるなよ。

420 :デフォルトの名無しさん:2008/06/01(日) 16:26:58
目的は多様な物だよ
人によって千差万別

421 :デフォルトの名無しさん: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:2008/06/01(日) 17:08:28
送られるのは "er00001('20080420')" でした。
それから、Prologのブラウザでは > c(曜日). ですね。送られるのが "c:c(er00002)" です。


423 :デフォルトの名無しさん:2008/06/02(月) 20:32:12
erlideをインストールし直したら使えなくなった。
普通のエディタに書いてるのと変わらん。
勘弁して欲しいよ。

424 :デフォルトの名無しさん:2008/06/02(月) 21:16:31
つ edlin

425 :デフォルトの名無しさん: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の人:2008/06/03(火) 19:52:37
>>423
emacsとかどうですか。
私もerlideの調子が悪いので乗り換えようかと考えています。
http://www.erlang.org/doc/apps/tools/erlang_mode_chapter.html
を参考にしたら簡単に入れられると思いますよ。

後日、手順をアップしておきます。

427 :デフォルトの名無しさん:2008/06/05(木) 09:51:13
>>421
漢字ローマ字変換(_漢字文字列,_ローマ字文字列) :-
  concat_atom(['kakasi -Jj ',_漢字文字列],S1),
  shs(S1,,[_かな文字列|_]),
  かなローマ字変換(_かな文字列,_ローマ字文字列).
のような感じでアトムをローマ字アトムに変換したら。
同音異義からくる問題をどうするかだね。

428 :427:2008/06/05(木) 09:52:50
  shs(S1,[_かな文字列|_]), ですね。
カンマが二個になっていた。

429 :427:2008/06/05(木) 10:27:41
まちがえた。
concat_atom(['echo ',_漢字文字列,' | kakasi -Jj'],S1),
だった。

430 :EWの人:2008/06/05(木) 15:44:38
新たに最新のEclipseを落として、Erlideをきちんとした手順(前は適当でした。すいません。)に沿って
インストールしてみたのですが、私の環境でもインストールできないようでした
(Eclipseを起動できなくなる)

普通に動かせる方がいたら、良かったら情報を提供していただけませんでしょうか。

431 :429:2008/06/06(金) 05:28:50
kakasi -Jj で漢字はローマ字に変換できます。
ただし、かなを変換しないから、かなローマ字変換で補正する。
だから、最初のshs(S1,[_かな文字列|_]), の論理変数名は不適切で、
  shs(S1,[_かなを含むローマ字文字列|_]),
  かなローマ字変換(_かなを含むローマ字文字列,_ローマ字文字列).
でなくてはいけなかった。かなローマ字変換は
・ ローマ字はそのままスルーする。
・ ローマ字の前のエスケープ文字を削除。
・ 表を引いて、かなをローマ字に変換。
・ かなとローマ字以外の文字はそのままスルー
こういう特殊な述語だから、本当はかなローマ字変換という述語名は
適切ではありません。

432 :431訂正:2008/06/06(金) 05:31:32
・ かなとローマ字以外の文字はそのままスルー
ではなく
・ かなとローマ字以外の文字は無変換
でした。

433 :デフォルトの名無しさん:2008/06/06(金) 05:54:44
Prolog(サーバ) <-> Erlang(サーバ) の事を書き込んできましたが、
一応整理して、この話題を終了します。
PrologからErlangを呼び出したいケースは、
1) Prologの弱点の補正・協業。具体的には、並行プロセスでの実行。非同期処理など。
2) 全角文字の処理等をPrologによるブラウザ(IDE)で解決したい場合。.
ErlangからPrologを呼び出したいケースは、
1) Prologに圧倒的な資産があり、これをErlangで利用したい場合。


434 :デフォルトの名無しさん: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の人:2008/06/07(土) 21:40:50
>>434
たしかに、ErlangとPrologは歴史的に繋がりがあると思いますが、
互換性が取れているという話は聞いたことがありません。
Prologユーザの絶対数が少ないので、言語としては似通っていても
Erlangではprologのインターフェースを持っていないのかもしれません。
pythonでいうexecみたいなコマンドがあったら便利ですね。
そうすればこんな悩みなんか一瞬で解決してしまうのにwwww


webページに関してなのですが、
現在までのコンテンツに
「バイナリ、ビットシンタックス」
「マクロ」
を追加して、一回整理をしようと思うのですが、
今までの範囲で他に必要なものはありますでしょうか。
作成しますので、良かったらお伝え下さい。

436 :デフォルトの名無しさん:2008/06/08(日) 00:48:14
>>435
特にはありません、僕にとって全てが未知なのも原因ですが。
声援を送ることしかできませんが、がんばってくだされ(日本語でかかれたWebのErlang系の情報で一番充実してますです)


437 :デフォルトの名無しさん: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:2008/06/08(日) 06:16:36
Prologでなくても、RubyでもPythonでも何でも呼び出し側は
いいんです。parserを書く必要があるかないかくらいの差。
それよりも、こんな話題を続けていて気づくのは、
Erlangは実務的な部分で専ら伸びてきているせいか、
入門書に当然のようにソケットを使った通信などが
入っている。これは、関数型言語では珍しい。
そして、ありがたい。
例外の扱いの順序など、どうかなと思うところもあるけれど、
"Programming Erlang" のプロセス間通信に至る構成が
言語入門書の標準になることを期待。
ウィンドウを開いてにHello,World! を表示することではなくてね。


439 :433:2008/06/08(日) 06:34:45
"Concurrent Programming in Erlang" にはソケットでてこなかったか。
この本を入門書と呼ぶことは躊躇されますが。

440 :デフォルトの名無しさん:2008/06/08(日) 06:47:37
ビットの取り扱いが楽だったり、もともとネットワークとの親和性も考慮されている様子
(そういえば開発元が通信会社か)

他言語からErlangを呼ぶってのはなかなか良い感じ
解法としてプロセスの大量使用が自然な問題を、Erlangに投げてやるって使い方が
すぐさま思いつく

441 :デフォルトの名無しさん:2008/06/08(日) 07:07:42
>>440
ソケット通信だとオーバーヘッドはあるけれど、
その使い方を一般に知らしめるのが、Erlang普及の
一番の近道だと思う。

442 :EWの人:2008/06/08(日) 09:06:15
>>436
いやいや、私も初めてから2ヶ月ぐらいですからね。
実際に使い始めれば習得も早いのではないかと思います。


多言語とのソケット通信に関してなのですが、
自分で関数を定義するよりも、既存のインターフェースを使うほうが楽なようです。
「プログラミングErlang」に載っていなかったので、そのうち載せておきます。

443 :EWの人:2008/06/08(日) 13:13:57
少し調べたのですが、erlangのBIFにmakeというものがあって、
erlangのソースコードのコンパイルにはgnu makeよりもそちらのほうが便利なようです。
http://www.erlang.org/doc/man/make.html

444 :EWの人:2008/06/09(月) 14:59:00
webページの構成を変えました。
http://erlangworld.web.fc2.com/

明日以降に内容の調整をしていきます。

445 :EWの人:2008/06/11(水) 14:42:00
Erlangの最新版5.6.2はエラーが起きた行を表示してくれるようになったみたいですね。

446 :デフォルトの名無しさん:2008/06/11(水) 16:58:53
>>445
私は5.5.5だけれども、エラーメッセージの読解には泣かされてる。

447 :デフォルトの名無しさん:2008/06/11(水) 17:00:57
皆さんはあーらんでどんなもの作ってます?

448 :EWの人:2008/06/11(水) 19:48:20
>>446
まさに、「日本語でおk」ってやつですよねwww

>>447
一概には言えませんけど、やっぱりネットワーク関連のものですね。
簡単なサーバならサクサク書けます。

本来なら自分でプログラムを作成しなければいけないところを、
言語がカバーしてくれているのでいい感じだと思います。
分散システムとかを作るのに最適な言語なんじゃないかな。

449 :デフォルトの名無しさん:2008/06/12(木) 09:28:12
で、C10Kは越えられるの?スケールするの?

450 :デフォルトの名無しさん:2008/06/12(木) 10:45:30
>>449
「C10K」については知らないので、ボケたレスになるのを覚悟で書くと、
Erlangはプロセスを完全にErlang処理系が制御するので最大プロセス数は
Erlang起動時のパラーメータで可変となる。
私はほとんどスケルトンだが、100万プロセスを起動して実験している。
Ubuntuだから4GBメモリで。
実務で使っているマシンになるので試したことはないが、RHEL5だと無制限の
はずだから、もっといけるのではないか。

451 :デフォルトの名無しさん:2008/06/12(木) 11:55:08
比較的実用レベルの話だと、
WebサーバのベンチマークでYAWSが8万セッション程度を同時に扱ったテストがあったようだ
比較対象のApacheは4000セッションで落ちた
ttp://www.sics.se/~joe/apachevsyaws.html

452 :EWの人:2008/06/12(木) 20:40:08
C10Kを意識したプログラム作成って個人レベルじゃあまり求められませんよね。
自分が作ったプログラムで「遅い」と感じるのは演算能力以外の部分が大きいです。
例えばネットワークとかファイル入出力とか。

Erlangは理論上においてC10K問題をクリアしやすい言語だと思いますが、
そのためには言語以外にアルゴリズムなども発展する必要があるかもしれませんね。

453 :EWの人:2008/06/13(金) 10:01:22
yahooカテゴリに登録されるようです。

あと数日したら掲載されるみたいです。

454 :デフォルトの名無しさん:2008/06/13(金) 10:14:42
>>453
昔は検索エンジンにサイトを登録してもらうのが
一種のステータスだったのになあ
ディレクトリ型検索って見ることもなくなったな


455 :デフォルトの名無しさん:2008/06/13(金) 10:22:24
PageRankとかの分析手法の登場で、
人気サイトはすぐに発見できるようになっちゃったからね
まあ今でも良質なサイトが多いようだし、一定水準を確保できているという証明にはなるかも

456 :EWの人:2008/06/13(金) 11:37:25
>>454
>>455
ページランクを上げるためには知名度がいりますからね。
起爆剤として働いてくれればと思って登録しました。

とりあえずページランク n/a(存在しない) から抜けることが目標です。
存在しなきゃ利用者も増えないですから。

457 :デフォルトの名無しさん:2008/06/14(土) 02:57:39
>>449-452
Web2.0の先にあるC10K問題
http://www.atmarkit.co.jp/news/analysis/200701/09/c10k.html
TheC10kProblem
http://www.hyuki.com/yukiwiki/wiki.cgi?TheC10kProblem
Grizzlyの概要 : C10K問題に対応するGlassFish(Grizzly)
http://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の人:2008/06/16(月) 20:49:15
ちょっと忙しいので更新遅れます。
とりあえず作成してあるものを明日アップしておきますが、
次の更新は来週あたりになりそうです。

459 :デフォルトの名無しさん:2008/06/16(月) 22:12:41
「Concurrent Programming in Erlang」ってどんな本なの?
アマゾンのマープレでは法外な値段が付いてるけど・・・

460 :EWの人:2008/06/16(月) 22:35:37
英語が読める人にとっては、プログラミング言語Erlangより簡単です。
よりマニュアルに近い感じです。

ただ、あの法外な値段を払ってまで読むべきものかと言うと、
それはちょっと疑問ですね。私も自腹なら買いませんwww

本家のマニュアルを片っ端から読めば、同じような内容だと思います。

461 :EWの人:2008/06/21(土) 16:17:40
今更気づいたんですが、
BIFってのはErlang以外から構成されている関数のことだったんですね。
標準ライブラリのことをBIFと言うと思っていました。

462 :EWの人: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の人:2008/06/25(水) 21:43:15
>>464
たぶん、求めている機能自体はOTPではなく他のものを使って作ると思います。
OTPはそれらの機能を繋ぎ合わせる土台みたいなものですかね。

他のマシンの状態とかを逐次的に調べたいのであれば、
OTPのイベント管理機能を通して管理するのがスマートなような気がしますが、
イベント自体は自分で設計する必要があります。

ブロードキャストに関しては、通常のTCP/IPでいうところのマルチキャストみたいなもんですから、
全てのノードに連続で送信でいいんじゃないですかね。

とりあえず、ライブラリの
rpc group なんかが参考になるかも。

466 :デフォルトの名無しさん:2008/06/26(木) 04:54:46
Tokens の構成要素で
[{atom,1,abc},...} の中の"1"は何を意味するのですか。

467 :デフォルトの名無しさん:2008/06/26(木) 04:57:31
まちがえた。よく見えない。 [{atom,1,abc},...] です。
おちゅーしゃの入力ウィンドウとフォントをもっと大きくする方法はないのだろうか。

468 :デフォルトの名無しさん: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の人:2008/06/26(木) 21:08:21
supervisorは階層型の管理方法だと思うので、
平等なノード同士を監視し合うというのは特殊な使い方なような気がします。

個人的な意見なのですが、スクラッチをOTP無しで作ってみて、
それを参考に「欲しい機能を持たせた仕組み」を一から作るのがいいかもしれないですね。

471 :EWの人:2008/06/27(金) 18:16:23
そういえば、ブロードキャストに関してなのですが、
プロセスに対してだったら連続送信するしかない(もしかしたら間違ってるかも)と思うのですが、
分散Erlangに参加しているノードに登録されているローカルの登録済みプロセスに対してなら
マルチキャストする手法があったような気がします。

各々のノードが均一であるならば、同名のローカルの登録済みプロセスを一つ作成して、
それにたいしてマルチキャストすればいいかもしれません。
やったことないですけど。

472 :デフォルトの名無しさん:2008/07/02(水) 06:09:27
Ubuntu7.10 でOTPを./configure するとエラーになるのだけれど、
何か注意事項があるかな。

473 :デフォルトの名無しさん:2008/07/02(水) 20:13:47
エラーをよく読む

474 :EWの人:2008/07/02(水) 23:26:26
たぶんオプションの指定か、
何かが足りない(コンパイラとか?)かのどちらかだと思います。

Java(BIFにJinterfaceがある)もいるかもしれませんね。
コンパイルしてる最中にチェックされてたような気がします。

475 :デフォルトの名無しさん:2008/07/09(水) 08:57:01
今日の日本経済新聞の一面に、松下が世界25万台のPCを
集中管理するという短い記事があったけど、こういう制御は、
Erlang向きなんだろうか。

476 :デフォルトの名無しさん:2008/07/10(木) 01:01:57
>>475
何を管理するかによると思う。
記事から推測すると、管理ポリシー(実行権限、使用可アプリ制限、
パッチ等の適用タイミング同期など)が対象のようだから、Erlangで
なくても可能。
むしろ既存システムとの整合性が重要と思われる。

477 :デフォルトの名無しさん:2008/07/10(木) 03:01:01
>>476
25万台、ポーリングシステムなどと途方もないことを
考えてしまったw

478 :EWの人:2008/07/10(木) 23:42:57
Erlangの純粋な分散はクラスタ向きかもしれませんね。
例えば、「みんなのマシンを合わせて分散させよーぜ」なんてのは
セキュリティの問題上きついかもしれません。

ノードごとに権限を設ける機能ってあるんですかね?

479 :デフォルトの名無しさん:2008/07/11(金) 11:38:55
OTPにはErlangアプリケーションサーバのようなものは入っているのですか?

480 :EWの人:2008/07/22(火) 18:08:25
>>479
JavaのTomcatみたいなもののことですね。
良くわかりませんが、あるとしたらYawsあたりの資料に載っているような気がします。

明日あたりに少しwebページを更新します。
9月あたりまで少し更新頻度が遅れそうです。

481 :デフォルトの名無しさん:2008/08/01(金) 13:06:37
私は日常的には関数型言語とは無縁なのですが、Erlangの
receive ... end や case ... of ... end が嫌で嫌でたまりません。
fun() -> ...end も勿論いやです。
こういうのは関数型言語を使われている方は平気なのですか?


482 :デフォルトの名無しさん:2008/08/01(金) 14:36:52
共通する「こういうの」が解らないんだが、その3つに関しては全く気にならない。
#endが嫌なのか、予約語が嫌なのか…ifもwhenも入ってないし…

むしろ、個人的にはifでelseが使えない方が嫌だ。
if Foo ->
 bar;
else ->
 baz
end
ってやりたい。
それが嫌でcaseばかり使ってるよ。

483 :デフォルトの名無しさん:2008/08/01(金) 14:56:22
>>482
何が気に入らないか書かなくて申し訳なかった。
たとえば、
X = receive(), foo(X),
で何ら問題ないではないかということですが。
case文もif文もないとだめですか。

484 :デフォルトの名無しさん:2008/08/01(金) 23:50:27
>>483
Prologの人乙

485 :デフォルトの名無しさん:2008/08/02(土) 00:53:44
>>484
そうです。

486 :デフォルトの名無しさん:2008/08/02(土) 01:59:44
自分が慣れ親しんだPrologと違うからいやだってことですね。

487 :デフォルトの名無しさん:2008/08/02(土) 04:10:16
>>486
そうですねw
Prologでも
...,(q1(..),q2(..);q3(..),q4(..),q5(..);q6(..)), ...
のような構文がありうるわけですが、
実はプログラムエラーの90%以上が
ここで発生します。
それで何ていうのか適切な表現では
ないかもしれないが、
インラインに展開したような表記法は
嫌いなのですね。

488 :デフォルトの名無しさん:2008/08/02(土) 15:45:39
Prologみたいに一々変数の名前考える方がイヤすぐる

489 :デフォルトの名無しさん:2008/08/02(土) 15:48:00
>>488
論理変数が命だから。

490 :デフォルトの名無しさん:2008/08/02(土) 20:44:36
Prologのプログラミングは
1) 単位節(データベース)定義。
2) ルールの記述。
以外にないわけで、1)をともかく積み上げなくてはなりません。
2)のルール記述では唯々現時点で、論理変数が同じものであるか、
あるいは同じものとは云えないかに焦点を当てて記述していく。
>>487 の面倒だというのは、違うことを示すために別のラベルを
考えるのが面倒だということですね。たしかにそうなのだけれども、
論理変数の記述によって現れるストリームこそPrologの形像であり、
論理変数の命名、則ちPrologプログラミングではないかと思います。

491 :デフォルトの名無しさん:2008/08/02(土) 20:48:40
>>490
スレ違い

492 :490:2008/08/02(土) 20:50:28
すみません。 >>487 ではなくて(これは私の書き込み)、
>>488 でした。

493 :490:2008/08/02(土) 20:51:23
>>491
ErlangとPrologの歴史から
すれ違いだとは思いません。

494 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2008/08/03(日) 02:03:18
Erlang はとっくの昔に論理型言語じゃなくなってるから
今さら Prolog と比べられてもな

496 :デフォルトの名無しさん:2008/08/03(日) 03:02:33
>>495
どなたかがPrologの変数に言及されたので、
Prologでの論理変数の位置づけを確認した。
私がいいたいのはErlangが
foo(receive()) で捌けるようにならなかったものかということ。

497 :デフォルトの名無しさん:2008/08/05(火) 01:01:06
>>496
論理型プログラミングがしたいなら、とっとと別の言語を探した方が
幸せになれると思うよ。

498 :デフォルトの名無しさん:2008/08/05(火) 10:17:23
>>497
やっぱり、Ozか


499 :デフォルトの名無しさん:2008/08/05(火) 12:14:16
>>498
習得時間がかかりすぎ。Erlangの何倍かな。

500 :デフォルトの名無しさん:2008/08/06(水) 00:51:10
Oz が Erlang に比べて極端に難しい言語だとは思えんが。
論理型でも書けるってだけで、それを強制されるわけでもないし。

ところで Oz のスレって無いのかね。

501 :デフォルトの名無しさん:2008/08/06(水) 00:57:35
コンピュータプログラミングの概念・技法・モデル
ttp://pc11.2ch.net/test/read.cgi/tech/1196257692/

502 :デフォルトの名無しさん:2008/08/11(月) 07:38:27
>>500
ひとつのパラダイム部分だけ使うのなら変わらないけれど
それで習得したとはいえないだろう。
どのくらい学習時間が必要かはともかくとして、
Erlangで不自由な部分があるからOzも同時に使いたいと
思ってる人いるかな。

503 :デフォルトの名無しさん:2008/08/21(木) 03:19:55
なんでこれでエリクソンって読めるの?

504 :デフォルトの名無しさん:2008/08/21(木) 04:47:04
>>503
作った会社の名前だっつの

505 :デフォルトの名無しさん:2008/08/21(木) 07:11:23
>>503
"Erlang" でエリクソンと読む訳ではないよ。アーランと読むのが普通みたい。

506 :デフォルトの名無しさん:2008/08/22(金) 03:49:09
>503
エリクソンの綴りは"Ericsson"
Erlang (アーラン)は最初、エリクソン社が社内で使うために
開発された言語らしい。

よって"Erlang"は"ERicsson LANGuage"の略だと言う説あり。
by Wikipedia

507 :デフォルトの名無しさん:2008/09/13(土) 11:09:45
秋の夜長は、がっつり、あーらん

508 :デフォルトの名無しさん:2008/09/14(日) 15:07:49
Erlangってコンパイラ屋にたいして愛されてないよね
ttp://shootout.alioth.debian.org/u64q/erlang.php
ttp://shootout.alioth.debian.org/u64q/scala.php

ホントに数百コア時代がきた時には使われないんだろうね。
要素技術だけ他の新言語に吸い上げて貰えば上等みたいな。

509 :デフォルトの名無しさん:2008/09/14(日) 17:17:17
>>508
機械語が関数型になるのはどのくらい先だろう。


510 :デフォルトの名無しさん:2008/09/14(日) 17:30:04
次世代はLarrabeeなんでまだ10年はx86かな

511 :デフォルトの名無しさん:2008/09/14(日) 17:48:11
15年とか20年とか先になるとして、>>508 的な状況と
時期的にどのくらいのズレが生じるのだろう。
本格的なマルチコア時代と関数型への移行が
同期するなら極めてハッピーと言えるのだが。

512 :デフォルトの名無しさん:2008/09/14(日) 17:55:53
>>511
マルチコアではHaskellが有望株らしいよ
ttp://www.watch.impress.co.jp/game/docs/20080911/epic.htm

513 :デフォルトの名無しさん:2008/09/14(日) 18:10:46
Hakellが機械語ですか、ゾッとしますね。

514 :デフォルトの名無しさん:2008/09/14(日) 18:27:47
関数に副作用が無いことを利用して並列化をかけるってのは確かに有望だとは思うが
オブジェクト脳的な考え方だと、アクターベースのほうがより親しみやすい感じがする
特にゲームは実世界のシミュレーション
オブジェクト的な発想が強そうだが、そうでもないのかね?

515 :デフォルトの名無しさん:2008/09/14(日) 18:44:26
ゲームに使うアクションの合成をうまいこと作れる演算子のセットが
できれば、Haskell的な言語への移行は意外と早いんじゃないかな。

ツクール系とかのスクリプト言語として「HaskellらしからぬHaskell」が
現れてくると思う。

むしろ、ゲーム開発のメインストリームになるためには、ガベージコレクションに
ブレイクスルーが必要だと思うね。確実にメモリ消費量の上限を決められたりとか、
そのあたり。

純粋関数型言語じゃないけど、PC向けのSchemeであるYpsilonの開発動機に、
既存の処理系ではGCに不満がある、とあった。

516 :デフォルトの名無しさん:2008/09/15(月) 15:50:20
>>515
20年後になっても、人類はゲームをやってるのか。

517 :デフォルトの名無しさん:2008/09/15(月) 15:56:04
20年前に人類にゲームはなかったのか?

518 :デフォルトの名無しさん:2008/09/15(月) 15:57:12
>>516
やって無いと思うほうがおかしくね?



519 :デフォルトの名無しさん:2008/09/15(月) 20:38:34
2千年後でも2万年後でも200万年後でも人類はゲームをやっているだろうね。
絶滅するか、あるいはとても人類とは呼べないものに変貌していない限り。

ゲームをする(遊ぶ)と言うのは人間というものを特徴づける
重要な性質のひとつだ。

現在のような人手でプログラミングする必要のあるコンピュータが
存在しなくなる可能性の方がまだ有り得るな。

520 :デフォルトの名無しさん:2008/09/15(月) 20:44:49
人間自体コンピュータだと主張する俺が通りますよ

521 :デフォルトの名無しさん:2008/09/15(月) 21:31:21
脳の並列処理はすごいと思う。
画像認識処理とかもう人間並みに速くなってるのかな

522 :デフォルトの名無しさん:2008/09/15(月) 21:40:46
無理でしょ。
人間の画像処理は目玉やら筋肉やら脊髄やら、いろんな複合的なシステムになっている。
ハードウェアまで含めて画像処理に使ってる人間と、
ソフトウェアだけのコンピュータによる画像処理では最初から勝負になってない。
たとえば、太陽黒点を観測するシステムを構築する時。
結論から言うと、カメラで写らない黒点を人間の目玉は見つけることができる。
なぜなら人間は全体を一様な明るさでとらえているのではなくて、
眼球を動かしつつ虹彩で明るさ調整しつつ経過時間を意識して見ているから。
人工的にできないわけじゃないけど、まだ誰もできていない。

523 :デフォルトの名無しさん:2008/09/15(月) 21:44:17
実際に観測装置を動かしてみると、とても大きな黒点が見えるのに、
適切に設定したはずのカメラにはまったく映っていなかったということが実際にある。

524 :デフォルトの名無しさん:2008/09/18(木) 19:39:05
パートクリエイター板で技術さんを募集。
みんなでわいわいやりましょう。
http://ex14.vip2ch.com/test/read.cgi/news4gep/1221357313/
http://www36.atwiki.jp/vipvipschool/

現在6名の技術さんがいます。
他にもサーバー部分、土台を作る人が不足しています。
CSS、Perl、アーラン、その他言語ができる人を募集中!
勉強中な人でもかまいません。

イメージや企画内容についてはスレッドとwikiをご覧下さい。
わからない所があればIRCやメールで気軽に聞いてください!

525 :デフォルトの名無しさん:2008/09/18(木) 21:29:28
>>524
おk
いまからerlang勉強して手伝ってやる

526 :デフォルトの名無しさん:2008/09/20(土) 14:37:16
むしろ技術者が6人もいるのに、ろくに進捗がないことの方が驚きだわ

527 :デフォルトの名無しさん:2008/09/20(土) 14:39:43
>>526
それではあなたが加入して、革命的躍進を遂げて下さい。

528 :デフォルトの名無しさん:2008/09/20(土) 19:27:11
>>526
察しなさいよ。
6人中一人しか使えない言語を選択してるんだぞ?
リーダーは大学2年生くらいで、来年には就職活動が忙しくなって投げ出すよ。

529 :デフォルトの名無しさん:2008/09/22(月) 13:16:54
質問です

floatからintegerに変換するにはどうすればいいですか?

530 :デフォルトの名無しさん:2008/09/22(月) 13:38:00
trunc(Number).

531 :デフォルトの名無しさん:2008/09/22(月) 14:19:38
>>530
ありがとうございます。
さらに質問ですが、Erlangで無限リストはどのように書けば良いのでしょうか?

532 :531:2008/09/22(月) 14:28:47
説明が不十分ですね。
私がしたいことは、
たとえば、2,3,5,7,11,13,・・・(無限)と続く素数のリストから100個の要素を取得したい場合、
どのように書くのがスマートでしょうか?

533 :デフォルトの名無しさん:2008/09/23(火) 15:49:03
皆さんエディタは何を使っています?
俺はemacsを使っているんですが、関数を畳んだりできる機能が無いので若干不便に感じています。

534 :デフォルトの名無しさん:2008/09/23(火) 16:45:02
>>533
> 関数を畳んだりできる機能が無いので

あるよ。 erlang のモードで使えるかどうかは知らんが、それでもちょっとコードを書き足せば出来るはず。

535 :EWの人:2008/09/28(日) 03:02:06
おかげさまで大学院にも合格しました。
卒論の折を見ながら、サイトの更新を再開しようかと思います。

>533
無限リストってものが良く分からないのですが、
一番純粋なリストっぽくやろうとしたら、リスト内包表記じゃないかと思います。
条件判定のところに素数の条件と、どこまで求めるかを記せば動くような気はしますね。
ただ、直感的にあまりいいプログラミングのやり方じゃないように感じます。
毎回2から割り切れるか調べるという馬鹿プログラムなら別にいいんですが、
そうじゃないのなら複雑すぎるので避けるべきではないかと。

特に拘りが無いのであれば、他の言語みたいに関数で定義すりゃ手っ取り早いような気はします。
引数に「現在の値」と「素数リスト」を取った再帰関数を定義して、
「素数リスト」に含まれる要素が「現在の値」を割り切れないときは素数リストにその値を追加。
「現在の値」をインクリメント
というのをグルグル回すのが一番シンプルな気がします。
本格的に作るのなら、並列処理で判定させるのも面白いかもしれませんね。

536 :デフォルトの名無しさん:2008/10/03(金) 07:50:35
>>494
関数型に較べて、論理型が冗長な部分があることは確かだが、
多くの場合仕様を変更して機能的に拡張するとなると、
例えば履歴の確保を追加する場合などだが、関係する述語群に
引数(論理変数)を1-2個増やすだけで解決できる論理型の
方が圧倒的に有利になる。

537 :536:2008/10/03(金) 09:05:03
例えばPrologで引数を増やすということは、
関数で型宣言をすることに近いのだから、
圧倒的に有利どころかほとんど差はないか。>>536 は撤回。

538 :デフォルトの名無しさん:2008/10/03(金) 21:34:53
プロセス辞書って副作用だよね?


539 :デフォルトの名無しさん:2008/10/04(土) 00:11:29
ごめん、参照透明とかあんま厳密な言語じゃないみたいね

540 :デフォルトの名無しさん:2008/10/04(土) 11:35:09
>>539
ちょいさわった感じでは、ある意味「普通」の言語。
単一代入なのは、プロセス間でmutableなデータを共有しないための手段のような気がする。(なので、個々のプロセスで閉じるプロセス辞書については気にしない)
そういうデータを扱う方法については言語内でカタを付けるんじゃなくて、ETSやMnesiaという形で外出しにしてるし。

541 :デフォルトの名無しさん:2008/10/16(木) 07:40:04
関数型プログラミング言語、興味を持ってちと勉強してみようと思い立ったものの、
Erlang, Haskell, OCaml, etc. どれに手をつけてみるのが一番良いの?

まあこのスレで聞くのもナンだけど。

542 :デフォルトの名無しさん:2008/10/16(木) 14:50:57
どうせ全部手をつけることになるんだからどれでもいい


543 :デフォルトの名無しさん:2008/10/16(木) 18:08:24
なるほど!
目からウロコとはこのことです。迷っていた自分が馬鹿らしくなりました。

544 :デフォルトの名無しさん:2008/10/16(木) 19:04:48
>>541
どれつかっても身近な文字列扱うときに泣いたのでF#でお茶を濁した俺


545 :デフォルトの名無しさん:2008/10/16(木) 20:55:51
全部手をつけることにはなるだろうけど、どれも均等に使う可能性は低いかな。。
みなさんGUIは何でやってる?やっぱerlgtkですか?

546 :デフォルトの名無しさん:2008/10/19(日) 10:51:15
Scala で Swing

547 :EW:2008/10/24(金) 13:30:12
Erlangでオブジェクト指向っぽくプログラミングする手法って
需要ありますかね?
継承やポリモーフィズムあたりを実現させるのはかなり難しいんですが、
インスタンスとメソッドを用いるプログラミング手法には似せることが出来ます。

知りたい人がいるのであれば、webページを作ろうかと思います。
ttp://erlangworld.web.fc2.com/

548 :デフォルトの名無しさん:2008/10/24(金) 14:48:37
Parameterized modules のこと?

549 :EW:2008/10/25(土) 01:07:25
>>548
そんな高度なもんじゃないですよ。

Cの構造体でオブジェクト指向っぽくプログラムを組むのと似たような感じですかね。
オブジェクトを一つのプロセスにして状態をグルグル回すだけです。
gen_serverの簡単なバージョンをイメージして頂ければ分かりやすいと思います。
プログラミングの癖が私に似ている人なら、たぶん自然と使っているような気はします。

550 :デフォルトの名無しさん:2008/10/25(土) 02:07:07
継承と多態の無いオブジェクト指向って、それオブジェクト指向じゃなくね?

というのは置いといても、receiveを囲ってるループの引数にフィールド当てはめてメッセージにメソッド当てはめるってこと?

551 :デフォルトの名無しさん:2008/10/25(土) 04:46:22
オブジェクトにメッセージを送れるならOOPLと呼んでいいと思う

552 :デフォルトの名無しさん:2008/10/25(土) 10:52:45
>>551
絶対に違うと思う

553 :EW:2008/10/25(土) 12:18:02
>>550
だから、それっぽくということですwww
プログラミングをしている感覚としては、やっぱりオブジェクト指向よりも
手続き型に似ているような気がしてなりません。

そうですね。基本はreceiveをぐるぐる回す構造です。
メッセージによるイベントドリブン形式とでも言えるかと思います。
ErlangのAPIがCの構造体を利用したものに似ているんですが、
Pidをインスタンスに、メッセージをメソッドに、みたてて似たようなことをやるほうが、
並列処理では使い易いような印象がありますね。
まぁ、弊害として
・資源開放としてのプロセスの終了が必要になる
・死んでいるプロセスに送信したら無視される
というものもあるんですけど。

554 :デフォルトの名無しさん:2008/10/25(土) 16:41:13
>>552
「絶対に」という根拠は気になるな

555 :デフォルトの名無しさん:2008/10/26(日) 14:52:39
表紙のconcurrentに惹かれて「プログラミング Erlang」を読み進めているのだが、
今ひとつ並列性への本質的な強みが感じられなくて、期待はずれ感。
20章の初めには「たくさんのプロセスを使う」とか書いてあるし・・・

どうしたら満たされる、並列への期待

556 :デフォルトの名無しさん:2008/10/26(日) 17:18:49
>>555
第五世代コンピュータ

557 :デフォルトの名無しさん:2008/10/26(日) 17:23:53
織田信長?

558 :デフォルトの名無しさん:2008/10/26(日) 18:01:36
> 20章の初めには「たくさんのプロセスを使う」とか書いてあるし・・・

プロセスを誤解してないか?

559 :デフォルトの名無しさん:2008/10/26(日) 20:21:12
誤解とは?OSレベルのプロセスじゃないよってことかい?

560 :デフォルトの名無しさん:2008/10/26(日) 21:02:42
>>559
うん。
それわかってて期待はずれならプロセス計算(代数)にも期待はずれなのかと。

561 :デフォルトの名無しさん:2008/10/27(月) 04:38:07
>>560
ErlangでGHC(KL1)の処理系を書けばいいんじゃないの。

562 :デフォルトの名無しさん:2008/10/27(月) 05:46:13
>>561
GHC(KL1)は各ゴールがプロセスでErlangよりたくさんプロセスを使うから
>555にはやっぱり期待はずれだろうね

563 :デフォルトの名無しさん:2008/10/27(月) 06:14:43
>>562
GHCが問題なのではなくて、Erlangのプロセス管理を
生かす事例という意味だが。

564 :デフォルトの名無しさん:2008/10/27(月) 08:16:18
programming erlangは並列経産の本じゃなくてerlangのチュートリアルだから
仕方ない。erlangを使って、openmpとかMPIとかMapReduceとかやればいいじゃない

565 :デフォルトの名無しさん:2008/10/27(月) 16:13:54
>555は並列に何を期待しているのか?

566 :デフォルトの名無しさん:2008/10/27(月) 16:52:15
>>565
次元の壁を越えた美少女達とのお付き合い

567 :デフォルトの名無しさん:2008/11/05(水) 02:45:28
これの実用的なライブラリってある?rubyでいうrailsくらいの

568 :デフォルトの名無しさん:2008/11/05(水) 21:31:34
誰か!誰かエスパー呼んできて!

569 :デフォルトの名無しさん:2008/11/06(木) 20:05:56
ないだろ。別にエスパーよばんでも

570 :デフォルトの名無しさん:2008/11/07(金) 08:17:56
あればもっと流行ると思うんだけどね
てか言語の流行る流行らないは実用的ライブラリが揃ってるかどうかが大きい

571 :デフォルトの名無しさん:2008/11/07(金) 20:46:24
関数型で流行ってるのなんてないだろう。

572 :デフォルトの名無しさん:2008/11/08(土) 00:05:48
こういう時やたらHaskellを推してくる人がいるけど、そいつが実際どれだけHaskellでコード書いてるのか知りたい。

573 :デフォルトの名無しさん:2008/11/08(土) 00:15:30
>>572
>こういう時やたらHaskellを推してくる人がいる

どの人の事?

574 :デフォルトの名無しさん:2008/11/08(土) 00:18:25
ただの妄想だろう

575 :デフォルトの名無しさん:2008/11/08(土) 01:02:36
「やたら〜する人がいる」 「みんな言ってる」 は大抵1人とか二人とかだよな

576 :デフォルトの名無しさん:2008/11/08(土) 01:19:55
だから数字にすることに意味があるんだね。

577 :デフォルトの名無しさん:2008/11/08(土) 01:21:21
以前初心者オススメスレにHaskellを推しまくってるヤツがいたよなwww
あまりに変だったからさらに不自然なHaskell狂信者風なのが出てきてネタにしてたwww

578 :a36 ◆K0BqlCB3.k :2008/11/08(土) 01:29:47
>>572
まぁ、人にはいえないあんなことやこんなことに使ってます。
Haskellでスタンドアロンアプリを書くことは滅多にないのですが、
とあるHaskell用のライブラリを作って公開しています。(本家にリンクがある)
論文を書くときにHaskellを題材に使ったりすることもあります。

579 :デフォルトの名無しさん:2008/11/08(土) 08:28:49
企業でHaskell,Erlang,Lisp,Prologなどを使う場合は
使ってることも何に使っているかも秘密にしておくよ。

580 :デフォルトの名無しさん:2008/11/08(土) 08:40:59
>>575
どういう風に統計とったの? 妄想?

581 :デフォルトの名無しさん:2008/11/08(土) 09:03:24
>>572
>こういう時

どういう時?

582 :デフォルトの名無しさん:2008/11/08(土) 22:02:30
>>580
そうみんな言ってた

583 :デフォルトの名無しさん:2008/11/08(土) 22:10:23
ワロタww


584 :デフォルトの名無しさん:2008/11/09(日) 04:28:11
この言語はよっぽどネタがないんだな
ということが分かるやり取り

585 :デフォルトの名無しさん:2008/11/09(日) 05:38:37
>>559
どういうこと

586 :デフォルトの名無しさん:2008/11/09(日) 14:23:44
仕様が成熟している、利用者がいない、のどちらかまたは両方

587 :デフォルトの名無しさん:2008/11/09(日) 14:29:34
>>586
erlangが普及しない理由
1. 遅い
2. 関数型言語
3. ネイティブが吐けない
4. 実行方法が異質
5. (ほぼ)サーバー特化

588 :デフォルトの名無しさん:2008/11/09(日) 17:43:37
遅い、ネイティブが吐けないとかはpythonとかでも同じじゃんか
なのにpythonは普及している。
関数型言語ってのが普及しない一番の理由じゃないかな、実用的に見て

589 :デフォルトの名無しさん:2008/11/09(日) 18:50:38
>>588
pythonはライトウェイト言語であって、erlangとは領域がまったく違う。
プロセスは軽いが処理自体は低速。
サーバを停止しなくても修正ができるというのはメリットだが、
そういう機能が必要なければバイナリが吐けたほうが都合が良い。
それにC++でも軽いソフトウェアスレッドのライブラリは存在するから
もはやプロセスが軽いというのはさほどメリットでもない。
関数型言語としてはHaskellやOCamlのほうがすぐれている。

590 :デフォルトの名無しさん:2008/11/09(日) 18:52:44
あくまでこれは俺がこの言語を選択しない理由として挙げているだけ。
erlangはどんな言語か知っているけど、あえてこの言語を選ぼうとは思わないんだよ。
サーバーを書くときは簡潔に書けるから便利ではあるけど。

591 :デフォルトの名無しさん:2008/11/09(日) 18:55:00
スタンドアロンなツール類を書くならやっぱりC++だろうな。
WEBアプリを書くならRubyかPHPかPerlだし、俺自身はPythonという選択肢はない。
サーバーならerlangかhaskellが書きやすい。
それぞれ使いわけでいいじゃん。
サーバー書く人が少ないっていうのが一番大きい理由じゃないの?

592 :デフォルトの名無しさん:2008/11/10(月) 20:30:25
すごいな。ErlangもC++と対等に語られるようになったか。

593 :デフォルトの名無しさん:2008/11/10(月) 21:13:43
オブジェクティックでフォンクティックな言語があればいいのに

594 :デフォルトの名無しさん:2008/11/10(月) 21:53:38
>>593
"object oriented" functional language でぐぐったら、なんかいっぱい出てくるぞ。
でも実用にできるのはOCaml, Scalaくらい?

595 :デフォルトの名無しさん:2008/11/10(月) 22:18:51
CLOS(Lisp)、あとOzとか
オブジェクト指向ベースに関数型の機能を取り込むアプローチだと、
まあ高階関数ぐらいなら比較的新しい言語はどれも持ってる

596 :デフォルトの名無しさん:2008/11/10(月) 23:16:53
高階関数それ自体がマルチコアを生かすようなバイナリに繋がると良いが、原理的にそんなことないわな。
しかし今だ考え方はプロセス・スレッド止まりだし。
もっとまったく新しい考え方って何かないのかね

597 :デフォルトの名無しさん:2008/11/11(火) 00:48:27
Objective Erlang的なの作ればいいんでね?

598 :デフォルトの名無しさん:2008/11/11(火) 00:54:49
Erlang使ってない俺が言うのも何だが、流れはEW氏に来たということか。

599 :デフォルトの名無しさん:2008/11/14(金) 02:39:00
開発を手続き型言語以外でやってる会社とかないよな
関数型はオナニー

600 :デフォルトの名無しさん:2008/11/14(金) 03:21:58
Diceあたりで検索かければ出てくるよ。少ないけど。

601 :デフォルトの名無しさん:2008/11/14(金) 13:59:37
>>599
Schemeで書かれたピンボールとか出てこようかという
ご時世に、ずいぶん乗り遅れてますねあなた

602 :デフォルトの名無しさん:2008/11/14(金) 23:24:30
>>599
今の教育課程でパンピーの知能じゃ無理でしょ。まだだいぶ先の話じゃないか、
関数型つか並列資源を存分に使いこなすプログラミングなんて。

603 :デフォルトの名無しさん:2008/11/15(土) 08:46:24
>>601
やっとピンボールですか。
手続き型なら30年前にできてたので、ずいぶん乗り遅れてますね。

604 :EW:2008/11/15(土) 10:41:08
>>597
Erlangが目指すところはオブジェクト指向と相反するような気がしますね。
カプセル化などは便利だと思いますが、インスタンスを使いまわすというのは
かなりイケてないことだと思います。
それがおkなら、変数への再代入なども許可しているでしょうし。
おそらく、可能な限り「状態依存を無くす」というのが、
Erlangの基本コンセプトなのではないかと思います。

>>598
僕が使っているのはあんまり上等な代物じゃないですよ。
個人レベルで手抜きをしているだけであって、本来なら綿密なデバッグが必要となる
危険なプログラムだと思います。

余談ですが、来年から planet lab のメンバーに加わることになりました。

605 :デフォルトの名無しさん:2008/11/15(土) 11:29:08
>>603
その理屈では機械語以外は全て遅れている言語ですよ。
脳味噌大丈夫ですか?

606 :a36 ◆K0BqlCB3.k :2008/11/15(土) 11:44:09
>>602
今の大学生は提出課題ですら他人のコピーだから、
FizzBuzz問題すら解けない子が多いよ。

607 :デフォルトの名無しさん:2008/11/15(土) 12:36:47
>>605
きみこそ脳みそ大丈夫?
高級言語が機械語より遅れてるの当たり前じゃないか。

608 :デフォルトの名無しさん:2008/11/15(土) 12:43:43
>>606
昔の大学生も、FizzBuzz問題すら解けない子おおかったと思うが。

609 :デフォルトの名無しさん:2008/11/15(土) 14:32:15
>>607
しょうがないよ、君の理屈だとそうなるんだから(605の理屈ではない)。

610 :EW:2008/11/16(日) 23:20:23
2つ以上のイベントドリブン形式のプロセスが相互に通信しあうというモデルでは
複雑なトランザクションを記述するよりも、
プロセスがメッセージを受け取ったら、
「新しいプロセスを作り処理させて、その結果を返す」
という手法のほうがプログラムを組みやすいみたいですね。

AがBに処理を依頼
BがAに対してある処理をさせる。
Bはその結果を受け取る。
そして処理を続行し、完了するとAに値を返す

という処理を書いたのですが、逐次プロセスのみだと処理が複雑になって
アウトでした。自分の意図しないところでデッドロックやバグがおきまくりました。
AとBの処理を新しいプロセスを立ててやらせると、かなり簡単に動きました。
なかなか便利な手法です。

611 :デフォルトの名無しさん:2008/11/17(月) 01:00:47
AがBに依頼した処理をBがAに処理をさせる?

612 :デフォルトの名無しさん:2008/11/17(月) 01:12:02
AとBでコルーチン的に処理をさせたいってことじゃね?

613 :デフォルトの名無しさん:2008/11/17(月) 03:04:20
名古屋コーチンがどうしたって?

614 :デフォルトの名無しさん:2008/11/17(月) 20:29:56
名古屋撃ちなら知ってる

615 :EW:2008/11/17(月) 21:54:07
612の方が指摘している通り、コルーチン的に処理するってことです。
純粋な逐次プロセスでコルーチンを実装すると、その処理をやっている間は
第三者からのアクセスに反応できないため問題がありました。

並列で新しいプロセスを作ると、コルーチンを分解できるんで
シンプルになりましたということです。

616 :デフォルトの名無しさん:2008/11/19(水) 22:28:39
>>615
権利義務の関係で処理すればいいんですね。
それぞれのプロセスはメッセージを受け取り自分を使わせる代わりに、
質問者を制御するメッセージを応答に付加できる。
そして、質問者はこのメッセージをevalことを義務付けられている。
これだけで>>610は実現できます。

617 :616:2008/11/20(木) 06:48:07
これではダメでしたね。
質問者は最初の質問に対してサーバから一度応答を
受けてそこで完了してしまいます。実際にはさらに続いていて、
質問者側の情報をサーバが得て本回答を送ってくるのですが、
それを受け取るのは、最初の質問者が設定した質問ではないですね。
サーバ側によって仕組まれた、バックグラウンドでの質問です。
これを質問者が最初の質問の回答と見なすのは困難ですか・・・。

618 :616:2008/11/20(木) 07:26:58
できるだけプロトコル化しないのがスマートと思ったのですが、
破綻しました。keep-alive状態を保って再質問するのが質問者
となるように仕組むことはできますが、
再質問は(最初の質問+質問者側でエバッた値)を引数に与えなくてはならず
複雑ですね。

619 :616:2008/11/20(木) 07:55:21
それにBは最初のAの質問に回答しないで、Aから情報収集してから
回答を用意するのが>>610の仕様ですね。全然ダメですね。
お騒がせしました。>>616->>619までは無視してください。

620 :デフォルトの名無しさん:2008/11/20(木) 23:41:22
>>616-619

621 :EW: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 :デフォルトの名無しさん: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:2008/12/10(水) 11:56:36
>>622
ごめんなさい。分からないです。

624 :デフォルトの名無しさん:2008/12/12(金) 00:20:13
おれはXPで動けばいいと思ってる

625 :デフォルトの名無しさん:2008/12/12(金) 23:28:46
》624
なんで?

626 :デフォルトの名無しさん:2008/12/13(土) 16:34:11
vistaはmeと同じ運命だからじゃないかい?

627 :デフォルトの名無しさん:2008/12/13(土) 19:08:43
そのmeを3年使った俺への当てつけか?
それにどうせ7はvistaの発展なんだから、vistaがmeと同じ立場というわけにはならないよ。

628 :デフォルトの名無しさん:2008/12/13(土) 19:14:02
そうだよな。7のカーネルはVistaと同じ、バージョン6.xなんだよな。
どの辺りが7なのか未だにわからない。

629 :デフォルトの名無しさん:2008/12/14(日) 05:56:13
MSも必死だからな


630 :デフォルトの名無しさん:2008/12/14(日) 12:19:25
名前なんて飾りです

631 :622:2008/12/14(日) 22:53:41
>>623
どうもありがとうございます。
-snameは動くので、ローカルなネットワーク限定で遊ぶことにします。
vistaで使っている人はいないのか…

632 :デフォルトの名無しさん:2008/12/15(月) 20:05:56
で、そろそろアーランを使用した基幹システム開発導入事例とか
出てきてもいいと思うんだ
通信以外の用途で

633 :デフォルトの名無しさん:2008/12/22(月) 13:20:47
io:fwriteでファイルに書き出すときは文字列のエスケープをしないのに
コンソールに出力するとUTF8の多バイト文字が皆エスケープされてしまうのだけど
これを抑止することできますか?
ファイルからテキスト処理してコンソール上で確認してるとことごとく\227,\130,\143…みたいになっちゃって
涙が


634 :EW:2008/12/22(月) 21:59:14
>>663
Erlang本には多バイト文字の扱い方が書いていないことは確かです。
正直、ファイル処理ですら相当危ういと思います。
ファイルにそのまま出力できたのは、UTF8の文字を認識しているのではなく
「バイト列をそのまま書き込んだから同じになったに過ぎない」という程度だと思います。
おそらく、ちょっと手を加えるだけで、ファイル出力も一瞬で文字化けするような気がします。

とりあえず、コンソール(コマンドプロンプト)が、EUCやShift-Jisになっていないかを
確認して、それでも駄目ならかなり厳しいんじゃないかと思います。
(だって、開発国の言語であるスェーデン語ですら文字化けするぐらいですし・・・・)

635 :デフォルトの名無しさん:2008/12/23(火) 21:03:44
>>634
不当なシーケンス食わせてもそのまま保持してくれるので(pread)コンソールでの
エスケープだけやめてくれれば十分な場合がほとんどだと想うのですが
パッチ自分で入れないとなんないとすると面倒だなぁ(ファイルにログ吐くとUTF8通るのに、コンソールだとアレみたいな)


636 :デフォルトの名無しさん:2008/12/26(金) 17:37:08
ErlangのWindowsバイナリーってWin95、Win98にインストール可能?

637 :デフォルトの名無しさん:2008/12/27(土) 03:34:03
>>636
FAQにはサポートされていると書いてあるけど
執筆日時が記述されていないから
自分で試すしかないと思うよ。

8.4 What operating systems does Erlang run on?
http://www.erlang.org/faq/faq.html

638 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2009/01/25(日) 21:41:46
>>640
Linuxでやっているので,man pagesをインストールしておいて,
たとえば ets:new とかなら,man ets してから less上で
new を検索してる

man pages はDownloadページにリンクがあるけど,
普通の本体とは別なので,別途DLしてインストールが必要.
最新だとこれ>http://www.erlang.org/download/otp_doc_man_R12B-5.tar.gz

642 :デフォルトの名無しさん: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

644 :デフォルトの名無しさん:2009/02/01(日) 12:38:10
Erlangの相談です。(・∀・)

今PHPでホームページを作っていますが、これからGuacheでホームページを作ろうと思ってます。
Gaucheを勉強したら、次はErlangを勉強しようと思いますが、Erlangでホームページの作り方を紹介しているサイトはありますか?

Erlang webアプリ の検索結果 約 247,000 件
http://dsas.blog.klab.org/archives/51094702.html

XREA(Apache)でErlangをインストールして動かすことはできるでしょうか?

645 :デフォルトの名無しさん:2009/02/01(日) 23:47:03
>>644
XREA で Erlang を使うとしたら CGI としてってことになるのかな。
それなら無理なわけではないと思うけど、
CGI で Erlang はかなり非効率的だ

646 :デフォルトの名無しさん:2009/02/04(水) 23:04:13
Erlangの相談です。(・∀・)

今PHPでホームページを作っていますが、これからGuacheでホームページを作ろうと思ってます。
Gaucheを勉強したら、次はErlangを勉強しようと思いますが、Erlangでホームページの作り方を紹介しているサイトはありますか?

Erlang webアプリ の検索結果 約 247,000 件
http://dsas.blog.klab.org/archives/51094702.html

647 :デフォルトの名無しさん:2009/02/05(木) 00:06:18
そんなもんはアランよ

648 :デフォルトの名無しさん:2009/02/09(月) 23:41:06
Erlangの相談です。(・∀・)

今PHPでホームページを作っていますが、これからGuacheでホームページを作ろうと思ってます。
Gaucheを勉強したら、次はErlangを勉強しようと思いますが、Erlangでホームページの作り方を紹介しているサイトはありますか?

Erlang webアプリ の検索結果 約 247,000 件
http://dsas.blog.klab.org/archives/51094702.html

649 :デフォルトの名無しさん:2009/02/09(月) 23:49:19
ホームページが作りたいのか、Webアプリが作りたいのか
ホームページなら基本は一緒で言語は関係ない
Webアプリは知らん

650 :デフォルトの名無しさん:2009/02/10(火) 07:46:50
>>644,646,648


651 :デフォルトの名無しさん:2009/02/10(火) 17:33:17
そんなものはアーランよ

652 :デフォルトの名無しさん:2009/02/11(水) 12:09:40
>>648

ErlangでWebするなら,Webサーバ(フレームワーク)として
何を使うかによるんじゃないかな?

一番メジャーなのはyaws.
http://yaws.hyber.org/
このページに色々サンプルがあるし,一通りの機能は
全部あると思う.

yawsで動くフレームワークに,Erlywebがあるので,
Webサイト作るならこれも併せてどうぞ.
http://erlyweb.org/


他にシンプルなものとしては,mochiweb があるかな.
http://code.google.com/p/mochiweb/
覚えやすいと思うけど,機能的にはyawsの方が良いと思う.

どちらもまとまったドキュメントなどはそのソフトウェアの
ページくらいしかないので,それ以上はソースを読むしか・・・

653 :デフォルトの名無しさん:2009/02/26(木) 22:31:25
erlangでHTMLパーサってないですか。
XMLパーサはあったんだけど。

654 :デフォルトの名無しさん:2009/02/26(木) 22:50:20
>>524
>>528
的中だった。
http://wiki.livedoor.jp/mezaseneoneet/d/%a5%c8%a5%c3%a5%d7%a5%da%a1%bc%a5%b8

655 :デフォルトの名無しさん:2009/03/02(月) 13:33:27
CouchDBはmochiweb使ってErlangで書かれてるよね。
http://couchdb.apache.org/
個人的にyawsよりmochiwebの方が好き。

656 :デフォルトの名無しさん:2009/03/02(月) 14:15:14
erlangて何てよむの?
エリクソン言語でいいの?

657 :デフォルトの名無しさん:2009/03/02(月) 14:21:11
アーラン

658 :デフォルトの名無しさん:2009/03/02(月) 23:59:51
なかなかよさげな言語あげ


659 :デフォルトの名無しさん:2009/03/03(火) 02:01:42
1文字が一文字で認識されるようになった?
ファイルから文字列読み込んで多バイトコードが内部のUCS4になってくれなくて一回使うのあきらめたんだけど。
そこさえ改善されてたらメイン言語にしたくらい好きではある。

っていうか英語圏はまだしもヨーロッパ言語はどうやってあつかってんだ?


660 :デフォルトの名無しさん:2009/03/03(火) 03:29:46
俺には状況が理解できなかったが、
>strings can be represented by lists of ASCII characters
>>http://erlang.org/doc/getting_started/seq_prog.html#2.5
である以上、多バイトで表現される文字(というか128を越える数値で表現される文字)を扱うのはバイナリで読み込むしか無いような。


実際にはオクテットに収まれば~sで表現できるから、ヨーロッパ諸語はISO/IEC 8859(だっけ?うろ覚え。Latin-1とか)でなんとかなるんじゃないか?

157 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)