X



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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2010/07/20(火) 16:13:49
■前スレ
【関数】Erlang【エリクソン】
ttp://pc12.2ch.net/test/read.cgi/tech/1176479959/

■関連URL
ttp://www.erlang.org/
ttp://www.erlang.org/download/erlang-book-part1.pdf
ttp://ja.wikipedia.org/wiki/Erlang
ttp://www.planeterlang.org/
ttp://cean.process-one.net/
ttp://www32.atwiki.jp/erlang/
ttp://jijixi.azito.com/cgi-bin/diary/index.rb?category=Erlang
ttp://www.kmonos.net/alang/etc/erlang.php
ttp://quasiquote.org/log2/Erlang
ttp://www.youtube.com/watch?v=uKfKtXYLG78
ttp://video.google.com/videoplay?docid=-5830318882717959520
ttp://erlide.sourceforge.net/
ttp://rucila.s43.xrea.com/memo/?date=0304
0119デフォルトの名無しさん
垢版 |
2011/12/12(月) 17:39:24.26
PythonとかRubyとか使ったけどやっぱりErlangのバイナリ処理とパターンマッチは最強だわ。
文字列の処理が楽だから、プログラムの翻訳機がかなり作りやすい。
で、他にもっと使いやすい言語ある?
0121デフォルトの名無しさん
垢版 |
2012/01/27(金) 06:04:19.72
ようするにやっぱ最強だわ
0122デフォルトの名無しさん
垢版 |
2012/02/24(金) 03:36:57.12
How To Become A Hacker
http://cruel.org/freeware/hacker.html

もしコンピュータ言語をなにも知らないなら、まず Python から始めることを
おすすめします。設計がきれいだし、ドキュメントもしっかりしているし、
初心者にもそこそことっつきやすくできています。でも入門言語として最適でも、
おもちゃではありません。強力で柔軟で、大きなプロジェクトにもじゅうぶん
対応しています。

Java もプログラミングを学ぶにはよい言語です。 Python よりはむずかしい
ですが、できるコードは Python より高速です。二番目の言語としてはとても
すぐれていると思います。

本気でプログラミングをするなら、C を勉強するしかありません。これはUnix の
中核となる言語です。C++ は C と密接な関係にあります。片方を知っていれば、
もう片方を学ぶのはそんなにむずかしくありません。が、どっちも真っ先に
勉強しようとするのには向いた代物ではありません。
0123デフォルトの名無しさん
垢版 |
2012/02/24(金) 08:47:40.07
C++でプログラム書くのを覚えるとCでプログラム書くのは無理
Cを読むくらいならできるけど、Cで書くなんてバカらしくてやってらんない
0127デフォルトの名無しさん
垢版 |
2012/03/02(金) 15:27:53.31
>>123
それCommonLispで以下略とか
Erlangで以下略とか
なんでもよくね?

Cの良いところって組み込みで使ってもリソース食わないとか
ハードウェアに密接する処理書いてもOKとかそのくらいしかわからん(ここはC++でもいいんだが)
0128デフォルトの名無しさん
垢版 |
2012/04/29(日) 13:59:15.71
Erlangプログラミングを70ページ読んでやって「これ->を:-にすればPrologじゃん」と気付いた
0129デフォルトの名無しさん
垢版 |
2012/04/29(日) 14:13:00.69
Prologみたいな双方向のユニフィケーションとか、同じ変数名を使ったパターンとか、あるの?
0130デフォルトの名無しさん
垢版 |
2012/05/07(月) 17:57:49.82
Erlangもっと流行ってほしいなぁ。
ほかの言語やってるとやっぱりErlangのパターンマッチが最強過ぎていやになるわ。

初心者にとっつきやすいようにprint分を簡単にして、
プリコンパイラを簡単にして関数を全部publicアクセスにして、
レコードをクラスっぽい使い方できるようにすれば
ちょっとはとっつきやすくなるんじゃないかな。
0131デフォルトの名無しさん
垢版 |
2012/05/07(月) 20:40:16.21
標準入出力よりも数値計算が充実してくれれば
行列で検索してもキューの話ばっかり出てきて困る
0133デフォルトの名無しさん
垢版 |
2012/05/11(金) 01:23:00.97
C言語とかで関数の頭で引数の検査でassert使うけど、それをパターンマッチングでできるので楽
0135デフォルトの名無しさん
垢版 |
2012/05/13(日) 00:44:56.28
いくらググってもemacsモードのファイルがヒットしないのでしばらくあきらめてたら、配布物の中に入ってた
0136デフォルトの名無しさん
垢版 |
2012/09/01(土) 10:27:54.02
Erlang入門という中古書籍片手にErlangの勉強を始めましたが、
本に書いてある通り、
c(モジュール名).
とコマンドを実行しても、
モジュール名.bea#: error writing file
とエラーが出てコンパイルできません。

http://blog.overlasting.net/2007-05-09-1.html
のサイトを見て、c(sample).を実行しても
sample.bea#: error writing fileと表示されます。

Erlangはマイナー過ぎてググっても分かりません。
誰か助けてください…。
0137136
垢版 |
2012/09/01(土) 10:37:43.22
ようは、対話型のコマンドは実行できるが、コンパイルできないんです。
Windows7の64版を使っているのは関係ないだろうし、途方に暮れています。
もちろん作業フォルダにファイルは置いています。
0139デフォルトの名無しさん
垢版 |
2012/09/01(土) 11:37:37.91
>error writing file

英語はマイナーすぎてわからないということだな
さすが初心者は半端ないぜ
0140デフォルトの名無しさん
垢版 |
2012/09/01(土) 20:30:15.65
福沢諭吉「脱亜論」 1885年3月16日 時事新報

日本の不幸は中国と朝鮮だ。
この二国の人々も日本人と同じく漢字文化圏に属し、同じ古典を共有しているが、
もともと人種的に異なるのか、教育に差があるのか、 日本との精神的隔たりはあまりにも大きい。
地球規模で情報が行き来する時代にあって、近代文明や国際法について知りながら、
過去に拘り続ける中国・朝鮮の精神は千年前と違わない。
国際的な紛争の場面でも「悪いのはお前の方だ」と開き直って恥じることもない。
もはや、この二国が国際的な常識を身につけることを期待してはならない。
「東アジア共同体」の一員として その繁栄に与ってくれるなどという幻想は捨てるべきである。
日本は、大陸や半島との関係を絶ち、 欧米と共に進まなければならない。
ただ隣国だからという理由だけで特別な感情を持って接してはならない。
この二国に対しても、国際的な常識に従い、国際法に則って接すればよい。
悪友の悪事を見逃す者は、共に悪名を逃れ得ない。
私は気持ちにおいては「東アジア」の悪友と絶交するものである。

         _,,,,,,__  __,,,__
        ィjj)))))))))!!!!!彡ヽ,
      /ミ/         ,}彡ヘ
      |ミ{ -‐ ‐ ‐ ‐-  {三=|
      El==; ゚ ''==. |ミミ,|
        `レfォ、,〉 :rfォ.、,  !iル┤
.        { `¨ i ・、¨ ´  `{ゞ'} 支那、朝鮮とは
.        | '`!!^'ヽ     .「´  付き合うなと忠告しておいたのに。。。
        ! ,-ニ'¬-、  ,!|,_   
.        \´?`  / ∧ヘ、
         __/〉`ー ' ´ /  〉 \
     _, ィ´「∧     /  /    」¬ー- 、_
  -‐ ´  / /  ヽ、/    /     iヾ      ヽ
0141136
垢版 |
2012/09/02(日) 15:52:29.76
返信遅れてすみません。

>>138
それが原因でした。恥ずかしいです。
ありがとうございました。
0142デフォルトの名無しさん
垢版 |
2012/09/18(火) 13:23:04.15
Learn You Some Erlang for Great Good!
ttp://shop.oreilly.com/product/9781593274351.do

haskell本みたいに流行るかな
0148デフォルトの名無しさん
垢版 |
2012/10/05(金) 23:07:29.48
>>145
好意的に解釈すると、
Erlangは「並列(pallarel)」ではなくて「並行(concurrent)」に向いてる言語だ、
といいたんじゃね?
あと、ErlangのSMPサポートは2006年(R11B)からなので、マルチコアを
活かせるようになったのは結構最近。
0149デフォルトの名無しさん
垢版 |
2012/10/06(土) 22:10:16.70
> あと、ErlangのSMPサポートは2006年(R11B)からなので、マルチコアを
> 活かせるようになったのは結構最近。

そーだったのか、知らなかった。>>148は詳しいな。
マルチコアでerlangの時代が来ましたよ!っぽい売り出し方してたから、
昔からそういうつくりなのかと思ってた。

あと、erlangのプロセスって、カーネルスレッドともユーザレベルスレッドとも違って
erlangのランタイムで実現されているという説明をよく目にするんだけど、これってどゆこと?

erlangのランタイムはOSのスレッドを利用しないで、並列(parallel)な処理を実現しているということ?
そうだとすると、たとえば、C言語でもカーネルスレッドを使わずに並列(parallel)な処理を実現できる方法があるの?

0150デフォルトの名無しさん
垢版 |
2012/10/07(日) 03:45:41.74
       //
     /  /   バカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ 馬鹿には無理
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0151デフォルトの名無しさん
垢版 |
2012/10/07(日) 15:51:59.58
>>145
メッセージパッシング中心だから、並列実行の実効には向いているがプログラミングが難しい
その代わり分散処理に向いている
0153デフォルトの名無しさん
垢版 |
2012/10/25(木) 11:44:12.09
久しぶりに触ったけどどうしても変数名を小文字で書いてしまって困る
ElixirとかあるけどどうせならReiaに流行ってほしかったなあ
0154デフォルトの名無しさん
垢版 |
2013/02/10(日) 18:40:22.63
Parallella and Erlang: An Introduction
ttp://www.parallella.org/2013/02/04/parallella-and-erlang-an-introduction/

なんか面白そう
0155デフォルトの名無しさん
垢版 |
2013/02/16(土) 16:18:12.72
Erlangを勉強したいのですが2つ知りたいことがありまして
・Erlangプログラミング(動物)とプログラミングErlang(飛行機)のどちらがお勧めですか
・マシンにCPUコアがたくさんあったら、あるだけ使ってくれるのでしょうか?
暇だったら教えてください
0157デフォルトの名無しさん
垢版 |
2013/02/16(土) 18:21:05.54
>>155
他の言語でもオライリー派だったせいか、オライリーの方が分かりやすかった
ただ、最初から応用が頭にある場合は飛行機の方がいいかもしれない

ErlangのVMが用意するスケジューラの数はマシンについてるコア数と同じだけど、その割り当てが1対1でマシンについてるコアを使うとは限らない
0158デフォルトの名無しさん
垢版 |
2013/02/16(土) 20:05:23.21
>>157
せっかくなので飛行機の方を買ってみようと思います
ErlangとしてはCPUを使うように努力してくれるみたいで安心しました

教えていただきありがとうございます
0159デフォルトの名無しさん
垢版 |
2013/02/16(土) 20:27:19.21
>>158
その本達は両方持ってて飛行機の方を先に読んでいたんですけど、動物本は文章が例によって長くて途中で投げましたw
結構昔の話なのでもう忘れてしまって印象だけなんですけど、多分そっちで正解です。

まあ気が乗ってくれば、入門だけ本に助けてもらって後はいくらでもネットで調べられますからね。
0160デフォルトの名無しさん
垢版 |
2013/02/23(土) 17:36:14.77
ところでErlangでキラーアプリてなんかないんですか?
特徴いかしたソフトあればもっと流行ると思いんだけど
0163デフォルトの名無しさん
垢版 |
2013/03/22(金) 01:49:31.43
HBase/HadoopやCassandraの中身をみてうんざりして
分散システムの構築に特化していると聞いて
RiakやHibariとかに密かに期待してるんですが、
これらってちゃんときちんと作られてます?
0166デフォルトの名無しさん
垢版 |
2013/03/22(金) 23:34:29.56
>>164
(Cassandraはちらっと見た程度だけど)
大局的には凡人には及びも付かないロジックなんだろうけど
道具レベル的にJavaに対する理解が稚拙、特にマルチスレッド関係
バグにバグを重ねていてもはや修正不可能。なんで動いているように見えるのか不思議
JIRAの手ごたえだと、中の人に分かってない人が混じっていて、今後もバグを積み重ねていくものと思われ
なんで地盤の部分をちゃんと勉強しないんだろ。まさに砂上の楼閣
0167デフォルトの名無しさん
垢版 |
2013/03/23(土) 08:00:46.09
>>166
そっか。うちなんかはあまり考えずにCDHのHBaseをインストールして運用しているだけの
ユーザーだから、あまり実装の稚拙さとかは考えたことが無かった。

ただRiak等が良いのですぐに乗り換えられるかと問われれば、うちの用途から考えると無理
だなとは思う。Javaで書かれた分析処理の並列実行が一番の用途でレンジスキャンが主なので
やはりHBaseが一番はまるんだよね。
データモデルも違うし、結局のところ用途から選ぶのが最初じゃないのかな。
0168デフォルトの名無しさん
垢版 |
2013/03/23(土) 18:38:28.24
http://hypertable.com/why_hypertable/hypertable_vs_hbase_2/
BigTableクローンとしては、HbaseのほかにHyperTableってのもあるけど、
C++で実装されているしAPIに互換性があるわけではなかったと思う。

Erlang/OTP使うと並列プロセスやプロセス監視などの仕組みが整ってるし
ディスクアクセスもETSに集中させれば管理し易いので、実装レベルを保証しやすいと思う。
http://www.erlang.org/doc/man/ets.html
http://www.aosabook.org/en/riak.html
0173デフォルトの名無しさん
垢版 |
2013/04/06(土) 03:31:03.27
joearms.github.com/2013/04/05/programming-erlang-2nd-edition.html
どうやら最近の流れに反映させるのが主な目的なのかな
これは初学者がステップアップしやすくなりそうだし
初版を持ってる人も最近の動向が掴めていいかもしれないね
0174デフォルトの名無しさん
垢版 |
2013/04/24(水) 21:25:43.67
escriptでプログラム動かすときmain/1のアリティを使う場合、main([Arg])な感じに書かないと
思ったように動かなかったんだけどアリティを[]で囲むのってescriptで動かす場合だけなの?
0175デフォルトの名無しさん
垢版 |
2013/04/25(木) 23:12:46.92
>>174
> escriptでプログラム動かすときmain/1のアリティを使う場合、main([Arg])な感じに書かないと
> 思ったように動かなかったんだけどアリティを[]で囲むのってescriptで動かす場合だけなの?

まず、argumentとarityを取り違えてる。

コマンドラインで与えた引数がStringのリストとしてmain/1に渡されるので、
main([Arg])としたら、引数が1個の時だけマッチして、かつその引数がArgに入る。

参考:
ttp://erlang.org/doc/man/escript.html
0177デフォルトの名無しさん
垢版 |
2013/07/15(月) NY:AN:NY.AN
公式のドキュメントや飛行機本にでてるリスト内包表記でサンプルに
ピタゴラスの定理が使われてるけど
pyth(N) ->
[ {A,B,C} ||
A <- lists:seq(1,N),
B <- lists:seq(1,N),
C <- lists:seq(1,N),
A+B+C =< N,
A*A+B*B == C*C
].
の条件の最期の2行がなんでこんな条件書くだけで
プログラムが動作するのかが納得がいかないのは自分だけ?
0180デフォルトの名無しさん
垢版 |
2013/07/16(火) NY:AN:NY.AN
>>177
過去、自分も納得いかんかったw

で、リスト内包表記で書かれたリスト処理をmap/filter/concatで書き直すことが可能な事は、
以下の書籍で明解に解説されているので、書店などで立ち読みするなりを薦める

 関数プログラミング, R.バード/P.ワドラー共著, 武市正人訳
  http://www.amazon.co.jp/dp/4764901811/
  リスト内包表記の書き直しは節「3.4 リストの写像と濾過(mapとfilter)」内の p66-68を

ちなみにこの本、最近出版された第2版で全面的にHaskellへ書き換えられた(改悪された?)が、
上記のリスト内包表記の書き直しを含むいくつかの基礎的な事柄が削られているので注意要
0181デフォルトの名無しさん
垢版 |
2013/07/16(火) NY:AN:NY.AN
バックトラックなの?
A, B, C それぞれについて、1 から N の全組み合わせだと思ってたけど。
0182デフォルトの名無しさん
垢版 |
2013/07/16(火) NY:AN:NY.AN
>>180
へー
参考になった
0183180
垢版 |
2013/07/16(火) NY:AN:NY.AN
>>181
いくつかの規則に従って、内包表記をmap/filter/concatから構成される一般的な式へ
書き換える(変換する/翻訳する)手法だから、Prologのバックトラックとはまったく違う
詳しくは>>180の書籍を参照

Erlangのオリジナルは論理型言語から出発しているが、
その言語とは(Concurrent PrologやGHCといった)並列論理型言語のことであり、
(いわゆるPrologと呼ばれる)逐次論理型言語が持つバックトラック機能は失われている
だから、逐次Prologに関する知識の多くはErlangでは役に立たないと考えた方がいい
0184177
垢版 |
2013/07/16(火) NY:AN:NY.AN
>>180
最初の3行で1からNまでのリスト3つ作って勝手に総当りでもやってんのかと
思ってましたけどそんな機能あったんですね。
とりあえずバックトラックについてはググって
本は図書館に初版あればいいけどとりあえず探してみます。
0187180
垢版 |
2013/07/16(火) NY:AN:NY.AN
リスト内包表記について、関数型言語の実装技法を解説した以下の書籍に(>>180より詳しい)説明あり

"The Implementation of Functional Programming Languages", Simon Peyton Jones, 1987
 http://research.microsoft.com/en-us/um/people/simonpj/papers/slpj-book-1987/
 リスト内包表記については、Chapter 7 List Comprehensions を参照

リンク先のページでは、この書籍の全文がPDFとして無償公開(タダ!!)されているので、一読をば

>>185
Erlangでもバックトラックのアルゴリズムは記述できるけど、
Erlangの計算モデルでバックトラックが使われているという話を(自分は)見たことも聞いたことも無い
また、Erlangはパターンマッチングが使えるけれど、これもPrologの単一化(unification)とは別物
>>183で書いたように、Erlangと類似性があるのは(バックトラックを捨てた)並列Prologだ
Erlangの外観が逐次Prolog(いわゆるフツーのPROLOG)と似ているからといって、惑わされてはいけない

>>186
基本的な考え方は総当たりだね、いわゆる generator&filter パターンと呼ばれる手法
で、リスト内包表記をg&fパターンへ書き換える技法を解説したのが>>180や上記の書籍になる
0188デフォルトの名無しさん
垢版 |
2013/07/16(火) NY:AN:NY.AN
難しい用語はすっ飛ばして、総当りとやってる事は何か違うの?見かけ上じゃなくて実質的に
0191180
垢版 |
2013/07/17(水) NY:AN:NY.AN
>>188
意味(=実質)は同じで構文(=見かけ)が違うだけ、いわゆる構文糖(syntax sugar)
0192デフォルトの名無しさん
垢版 |
2013/10/05(土) 20:39:57.04
joe armstrongのプログラミングerlangの8.11の練習問題で質問です。
一番目の問題の「spawn(Fun)をAnAtomとして登録する関数start(AnAtom, Fun)を書くという問題で、
2つのプロセスがstart/2を呼び出した場合もプログラムが正しく動作するようにすること。」と言う問題で以下のコードを書きました。

start(AnAtom, Fun) ->
undefined = whereis(AnAtom), %% ここのコードはまずい?
register(AnAtom, spawn(Fun)).

erlangの並行処理のモデルがよくわかっていないのですが、
上のコードのコメントが書かれているところででプロセスAがwhereis(AnAtom)をundefinedに評価した後に別のプロセスBに切り替わってwhereis(AnAtom)をまた
undefinedに評価することはありえるのでしょうか?それともノンプリエンティブマルチタスクに似た並行処理モデルなのでしょうか?

こういうことに気にしないようにregisterを呼び出すプロセスを作って、
そのプロセスにregisterを呼び出すようにメッセージを送ったほうが良いのでしょうか?
0193デフォルトの名無しさん
垢版 |
2013/10/06(日) 07:33:08.12
      \                     /
       \                  /
         \               /
          \            /
            \         /
             \∧∧∧∧/
             <    俺 >
             < 予 し  >
             <    か >
─────────< 感 い >──────────
             <   な >      
             <  !!! い >       
             /∨∨∨∨\
            /         \
          /   ∧_∧     \
         /     (  ・ω・)      \
       /    _(__つ/ ̄ ̄ ̄/    \
      /        \/     /      \
0195デフォルトの名無しさん
垢版 |
2013/10/06(日) 09:38:30.84
>>192

CPU(core)が複数あると、完全に同時並行で動くと思う。
問題は
2つのプロセスが同時に呼んだ場合も正しく動くこと。
そのような場合、片方のプロセスは成功、もう一方は失敗を保証すること
で、spawnされたプロセスをどうするか書かれていないし、
true = register(AnAtom,spawn(Fun)).
で良いような気がする。

2版出たのかな?
0196デフォルトの名無しさん
垢版 |
2013/10/06(日) 23:31:35.79
Erlang学習してて詰んでる人は、「コンピュータプログラミングの概念・技法・モデル」(略称CTMCP)を読むと変化が起きると思う。
0197192
垢版 |
2013/10/07(月) 20:02:16.34
>>195
そういう解釈でいいんですかね?

>>2版出たのかな?
部屋から発掘した1版1刷を読んでます。
0198195
垢版 |
2013/10/10(木) 00:38:15.06
>>197
spawnされたほうの始末を考えないといけないことに気付かせる問題と思った。
完全同時並行で動くので、少なくとも8章までの内容だと、プロセスが2つ起動されてしまうのは
回避できないように思う。流し読んだだけなので違ったらごめん。
現実的にはregister成功したらメッセージを投げて、spawnされたほうはそのメッセージを待って
仕事をするのかな?
0199デフォルトの名無しさん
垢版 |
2013/10/10(木) 05:51:00.14
>>198
トンチンカンな事を言ってたらゴメン。

UNIXのプロセス生成とごっちゃにしてない?
0200デフォルトの名無しさん
垢版 |
2013/10/10(木) 21:38:10.40
process_flag(priority)の説明に preemptive scheduling と書かれていて、erlang(beam)仮想機械の
命令数で切り替えを行うのだったと思う。
2つのプロセスでほぼ同時に register(atom,spawn(fun)) を実行するとして、先のプロセスの
spawn(fun) から戻ったところでプロセス切り替えが起きて後のプロセスが動くと、spawnされて
registerしていないプロセスが2つ存在する状況を回避できない。
registerできるのは1つだけなので、どちらかのプロセスを始末しないといけない。

と書いていて気付いたけど、>>192 のFunを直接spawnするのをやめて、spawnされたらself()を
registerして、Funを呼ぶようにすれば良いのかな?

「完全同時並行」は話をメンドクサくしてしまったかもしれない。ごめん。
0201192
垢版 |
2013/10/10(木) 22:37:11.82
register自体は排他制御されているだろうから、このコードでどうでしょうかね?
start(AnAtom, Fun) ->
Pid = spawn( fun() ->
receive
run -> Fun();
die -> void
end
end),
M = case register(AnAtom, Pid) of
true ->
run;
_ ->
die
end,
Pid ! M.
0202192
垢版 |
2013/10/10(木) 23:09:45.48
200さんが言ってるのはこういうコードですか?
start2(AnAtom, Fun) ->
spawn(fun() ->
%% AnAtomが登録済みの場合例外が発生して
%% プロセス内で例外をキャッチしないのでプロセスが死ぬ
register(AnAtom, self()),
Fun()
end),
true.
0203デフォルトの名無しさん
垢版 |
2013/10/10(木) 23:30:22.22
start(AnAtom, Fun) ->
Pid = spawn( fun() -> receive
run -> Fun();
die -> void
end
end),
try
register(AnAtom, Pid),
Pid ! run,
true
catch
error:badarg ->
Pid ! die,
error(badarg)
end.
0204200
垢版 |
2013/10/12(土) 11:54:07.77
>>202
そんな感じ。
set_lock()で排他制御してしまうという案もあると思う。
元々の設問が中途半端なので、後は好みの問題かな?
0206デフォルトの名無しさん
垢版 |
2013/10/15(火) 13:28:31.64
rebarとgithubですね
0207デフォルトの名無しさん
垢版 |
2013/10/15(火) 17:36:05.11
ありがとうございます。
ライブラリのインストールはrebarでできそうです。
ライブラリを探す場合は皆さんgoogleやなんかで"erlang hogehoge"のような感じで探してるんでしょうか?
0210デフォルトの名無しさん
垢版 |
2013/11/06(水) 08:05:57.09
erlangって他の言語を呼び出せる?
例えばCのライブラリとか。

あと、erlangでCのプログラムを起動してアクセスできる?
具体的には
Cで書いた状態ありのモジュールを起動して、
erlangがそのモジュールにデータ書き込んだり読み出したりするなんてこと
をしたいんだけど。
0212デフォルトの名無しさん
垢版 |
2013/11/06(水) 11:02:13.24
>>211

サンキュ


どうやるの?
ポインタ教えてもらえると助かる
0215デフォルトの名無しさん
垢版 |
2013/11/07(木) 03:20:44.11
サンキュ

erlangからポートで接続してデータのやりとりすれば
いいわけね。
0217デフォルトの名無しさん
垢版 |
2014/02/04(火) 23:38:07.12
Dave Thomas が本出すとかで今後の火種になるかもしれないあの Elixir ですか(カンペガン見)
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況