summaryrefslogtreecommitdiff
path: root/erlang/translate_service.erl
diff options
context:
space:
mode:
Diffstat (limited to 'erlang/translate_service.erl')
-rw-r--r--erlang/translate_service.erl22
1 files changed, 22 insertions, 0 deletions
diff --git a/erlang/translate_service.erl b/erlang/translate_service.erl
new file mode 100644
index 0000000..a19c5af
--- /dev/null
+++ b/erlang/translate_service.erl
@@ -0,0 +1,22 @@
+-module(translate_service).
+-export([loop/0, translate/2]).
+
+loop() ->
+ receive
+ die -> exit({translator,died,violently,at,erlang:time()});
+ {From, "casa"} ->
+ From ! "house",
+ loop();
+ {From, "blanca"} ->
+ From ! "white",
+ loop();
+ {From, _} ->
+ From ! "I don't understand.",
+ loop()
+ end.
+
+translate(To, Word) ->
+ To ! {self(), Word},
+ receive
+ Translation -> Translation
+ end.