問題タブ [erlang]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ide - Erlang 開発環境のセットアップ
私は Erlang に興味があり、起動して実行する際の抵抗が最も少ない方法をたどりたいと思っています。
現在、Erlang R12B-3とErlide ( Eclipseプラグイン) をインストールする予定です。これは主に Google の結果に基づく決定です。最初は Windows XP システム上で実行されますが、すぐに Ubuntu で環境を再現する可能性があります。
有意に優れた選択肢はありますか? たとえそれが1つのプラットフォームに縛られていたとしても。
あなたの経験を共有してください。
erlang - プロセスの親のPIDをどのように決定しますか
スポーン直後に何かを実行し、終了したら結果を親に送り返すことになっているerlangのプロセスがあります。それを生成したプロセスのPIDをどのように把握しますか?
multithreading - 他の言語のErlangスタイルの並行性
アーランスタイルの並行性モデル(プロセス、メールボックス、パターンマッチング受信など)を提供するために、他のプログラミング言語用にどのライブラリが存在しますか?
注:スレッドライブラリやキューイングライブラリだけでなく、Erlangに類似することを目的としたものに特に興味があります。
objective-c - ErlangアプリケーションにCocoaフロントエンドを書く良い方法は何ですか?
Erlang でアプリケーションを作成する可能性を探っていますが、一部を Cocoa (おそらく Objective-C) で作成する必要があります。フロントエンドとバックエンドが簡単に通信できるようにしてほしい。どうすればこれを行うことができますか?
C ポートと接続プロセスを使用することも考えられますが、逆の状況 (フロントエンドが起動してバックエンドに接続) が必要だと思います。名前付きパイプ (FIFO) があるか、TCP ポートまたは名前付き BSD ソケットを介したネットワーク通信を使用できます。この分野で経験のある人はいますか?
c++ - Erlang のような送受信を C++ でどのように実装しますか?
実際、この質問には 2 つの部分があるようです。
- パターンマッチングの実装方法は?
- 送信と受信(つまり、アクター モデル)を実装する方法は?
パターン マッチングの部分については、 AppやPropなどのさまざまなプロジェクトを調べてきました。これらはかなり良さそうに見えますが、最近のバージョン (4.x) の g++ では動作しませんでした。Felix言語もパターン マッチングをかなりうまくサポートしているように見えますが、実際には C++ ではありません。
Actor モデルに関しては、 ACT++ やTheronなどの既存の実装がありますが、前者に関する論文しか見つかりませんでした。後者はシングルスレッドのみです[回答を参照]。
個人的には、スレッド化とスレッドセーフなメッセージ キューを使用してアクターを実装しました。メッセージはハッシュのような構造であり、これらを多数のプリプロセッサ マクロと組み合わせて使用して、単純なパターン マッチングを実装しました。
現在、次のコードを使用してメッセージを送信できます。
そして、単純なパターン マッチングを行うには、次のようにします (qDebug
およびqPrintable
Qt 固有です)。
ただし、これは私には少しハックに見え、あまり堅牢ではありません。
どのようにしますか?既存の作品を見逃しましたか?
erlang - Mnesia のレコードのマージ
コール キュー内のエージェントの現在のステータスを収集するソフトウェア用のコードをリファクタリングしようとしています。現在、リッスンする 6 つほどのイベントのそれぞれについて、エージェントが存在するかどうかを Mnesia テーブルにチェックインし、イベントに応じて行の値を変更するか、エージェントが存在しない場合は新しいものとして追加します。現在、私は各イベントでこの Mnesia トランザクションを持っています。もちろん、エージェントの存在などをチェックするための一連のコードが繰り返されています。
これを変更して、これを処理するイベントから呼び出すchange_agent/2のような関数が 1 つあるようにしようとしています。
もちろん、私の問題はレコードです....それらを動的に作成したり、2つをマージしたりする方法が見つかりません。できれば、次のように呼び出すことができる関数があるでしょう。
networking - Erlangでgen_udpを使用してマルチキャストする方法は?
マルチキャストgen_udp
を行うためにErlangでどのように使用しますか? 私はそれがコードにあることを知っていますが、その背後にあるドキュメントはありません。データの送信は明白で簡単です。メンバーシップを追加する方法について疑問に思っていました。起動時にメンバーシップを追加するだけでなく、実行中にメンバーシップを追加することも役立ちます。
concurrency - コンカレント プライム ジェネレーター
私は projecteuler.net の問題を解いて Erlang でのプログラミング方法を学んでいますが、200 万未満の素数をすべて 1 分以内に作成できる素数ジェネレータを作成するのに最も苦労しています。シーケンシャル スタイルを使用して、エラトステネスのふるいを含む 3 種類のジェネレーターを既に作成しましたが、どれも十分に機能しません。
並行 Sieve がうまく機能すると考えましたが、bad_arity メッセージが表示され、その理由がわかりません。なぜ私が問題を抱えているのか、または適切にコーディングする方法について何か提案はありますか?
これが私のコードです。コメントアウトされたセクションは、私が物事を並行させようとした場所です:
user-interface - Erlang で GUI を構築するためにどのライブラリを使用できますか?
Erlang アプリケーションの GUI を構築するために使用できるライブラリは何ですか? 回答ごとに 1 つのオプションを指定してください。
http - ErlangでパラメータをURLエンコードするにはどうすればよいですか?
httpc:request
リモートサービスにデータを投稿するために使用しています。投稿は機能していますが、投稿の body() 内のデータは、リモート サービスによって解析されたときに投稿が失敗する原因となる URL エンコードなしでそのまま送信されます。
CGI.escape
この目的のために Ruby に似た Erlang の関数はありますか?