-module(slf1). -export([start/0, msg/2, get/1]). start() -> Cmd = "ruby ./slf1.rb", open_port({spawn, Cmd}, [{packet, 4}, use_stdio, exit_status, binary]). msg(Port, Term) -> Port ! {self(), {command, term_to_binary(Term)}}, you_betcha. get(Port) -> receive {Port, {data, Bin}} -> binary_to_term(Bin) after 0 -> no_data_in_mailbox end.