ErlangタイプはHaskellではErlTypeタイプで表されます。
型変換は、toErlang関数を使用して標準型から生成された型に対して実行されます。
ghci> toErlang [("a", 1), ("b", 2)]
ErlList [ErlTuple [ErlString "a",ErlBigInt 1],ErlTuple [ErlString "b",ErlBigInt 2]]
ghci> fromErlang $ ErlList [ErlTuple [ErlString "a",ErlBigInt 1],ErlTuple [ErlString "b",ErlBigInt 2]] :: [(String, Int)]
[("a",1),("b",2)]
Haskellコードを使用してノード(ノード)を作成するには、ノードの名前を取得するcreateSelf関数を使用します。
self <- createSelf "haskell@localhost"
アーランスタイルのプロセス(SIP)を作成するには、createMBox関数を使用します。この関数は、新しいプロセスを開始するノードをパラメーターとして受け取ります。
mbox <- createMBox self
メッセージを送信するために、mboxSend関数は4つのパラメーターを受け入れます。メッセージを送信するプロセスは融合し、「名前」はノード、pid、およびメッセージ自体のアーランです。 あらゆるタイプのアーランを投稿してください。 Pid構造はやや複雑です。Leftpid(pidはプロセスアーランの識別子)またはRight name(nameはプロセス名を含む文字列)です。
mboxSend mbox node pid msg
メッセージを取得する方が簡単です:
msg <- mboxRecv mbox
より高いレベルの相互作用の可能性もあります。
reply <- genCall mbox node pid msg
genCast mbox node pid msg
genCallがgen_serverからerlangノードへの同期プロセス呼び出しを行い、genCast-非同期を行うことを推測するのは難しくありません。
Erlangモジュールから関数を同期的および非同期的に呼び出すことも可能です
reply <- rpcCall mbox node module function arguments
rpcCast mbox node module function arguments
Erlang Port Mapper Daemonでのプロセスのリンク、エラーの転送、プロセスハッシュの登録の機能は、このリリースでは実装されていません。
hackage.haskell.org/package/erlangからダウンロードできます。
PS申し訳ありませんが、翻訳として発行していません。