!625      !"#$%&'()*+,-./01234:(c) Eric Sessoms, 2008 (c) Artr Por, 2015GPL3gombocarti@gmail.com experimentalportableSafe;=  56789:;<=>?@A:(c) Eric Sessoms, 2008 (c) Artr Por, 2015GPL3gombocarti@gmail.com experimentalportableNone berlang5Representation of an Erlang node on the network. erlangLocal Erlang node.erlangRemote Erlang node.erlangName of an Erlang node.erlang@Return the names and addresses of registered local Erlang nodes.erlang/Return the port address of a named Erlang node.erlang?Returns (port, nodeType, protocol, vsnMax, vsnMin, name, extra) BC:(c) Eric Sessoms, 2008 (c) Artr Por, 2015GPL3gombocarti@gmail.com experimentalportableNone" erlangRepresents a foreign (Erlang) process. A process can be identified either by its low-level ID (Left pid) or by its registered name (Right name).erlangHaskell threads don't natively have Erlang process IDs. Instead, we use a mailbox abstraction that we can assign PIDs to for communication with Erlang.erlangERepresents a Haskell node. There should be one of these per process.erlang_Instantiate a Haskell node. This initializes the FFI. Node name should be a 'long name' e.g. "haskell@localhost".DerlangA D\ thread is responsible for communication to an Erlang process. It receives messages in an E' and forwards them across the network.FerlangA F thread is responsible for communication from an Erlang process. It receives messages from the network and dispatches them as appropriate. erlang$Return the PID of the given mailbox.!erlang%Return a new unique object reference."erlangZSend an arbitrary message to the specified node and process. It is equivalent in Erlang to {Node, Pid} ! Msg.#erlang3Receive the next message addressed to this mailbox.$erlangaReceive a reply message. That is, looks for the next message identified by the given reference.%erlang`Create a new process on the Haskell side. Usually corresponds to a thread but doesn't need to.  !"#$%:(c) Eric Sessoms, 2008 (c) Artr Por, 2015GPL3gombocarti@gmail.com experimentalportableNone'L&erlanggen_server:cast(Pid, Msg)'erlanggen_server:call(Pid, Msg)(erlang+rpc:cast(Node, Module, Function, Arguments))erlang+rpc:call(Node, Module, Function, Arguments)&'():(c) Eric Sessoms, 2008 (c) Artr Por, 2015GPL3gombocarti@gmail.com experimentalportableNone)0 *+,-./012:(c) Eric Sessoms, 2008 (c) Artr Por, 2015GPL3gombocarti@gmail.com experimentalportableNone+( &'()*+,-./012:(c) Eric Sessoms, 2008 (c) Artr Por, 2015GPL3gombocarti@gmail.com experimentalportableSafe/O3erlangConvert a tuple (from  erlang:now()) to seconds from Jan 1, 1970.4erlang5Convert seconds to an Erlang tuple representing time.34:(c) Eric Sessoms, 2008 (c) Artr Por, 2015GPL3gombocarti@gmail.com experimentalportableNone1+5   !"#$%&'()*+,-./012345'&)(*+,-./012%! #$"  34G     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST#erlang-0.2.3-3lRuILKeLav3YoRJ5IlGQqForeign.ErlangForeign.Erlang.TypesForeign.Erlang.NetworkForeign.Erlang.ProcessesForeign.Erlang.OTP.GenServerForeign.Erlang.OTP.MnesiaForeign.Erlang.OTPForeign.Erlang.Utilities&network-2.7.0.2-7dHZdc0sQln3e4HclR3IsSNetwork.SocketHostNameErlangtoErlang fromErlangErlTypeErlNullErlIntErlFloat ErlBigInt ErlStringErlAtom ErlBinaryErlListErlTupleErlPidErlPortErlRef ErlNewRefnthNodeShortLongNameErlRecvErlSend epmdGetNames epmdGetPort epmdGetPortR4PidMBoxSelf createSelfmboxSelfmboxRefmboxSendmboxRecv mboxRecv' createMBoxgenCastgenCallrpcCastrpcCallbackup dirtyAllKeys dirtyFirst dirtyNext dirtyLast dirtyPrevdirtyMatchObject dirtyRead dirtySelecterlangTimeToSecondssecondsToErlangTimeputErlgetErltagputCputnputNputaputAgetCgetngetNgetagetA toNetwork erlConnectnodeSendbaseGHC.MVarMVarnodeRecv