## Scala / Akka ```scala import akka.actor.Actor import com.clearprecision.neo4jscala.domain.Hello class HelloActor extends Actor { override def receive: Receive = { case "Hello" => println("Hello World") case Hello(name) => println("Hello there "+name) case _ => println("Unknown message received") } } //Client val actorSystem = ActorSystem("neo4jscala") val helloActor = actorSystem.actorOf(Props[HelloActor]) helloActor ! Hello("Jim") helloActor ! Hello helloActor ! "Some nonsense" ``` ## Erlang ```erlang -module(hello_actor). -export([start/0, loop/0]). start() -> spawn(hello_actor, loop, []). loop() -> receive {hello} -> io:format("Hello world~n"); {hello, Name} -> io:format("Hello there ~s ~n", [Name]); _ -> io:format("Dont know what to do~n") end, loop(). ``` ```shell Erlang/OTP 17 [erts-6.2] [source] [64-bit] [smp:8:8] [async-threads:10] [kernel-poll:false] Eshell V6.2 (abort with ^G) 1> c(hello_actor). {ok,hello_actor} 2> Act=hello_actor:start(). <0.40.0> 3> Act ! {hello}. Hello world {hello} 4> Act ! {hello, "Jim"}. Hello there Jim {hello,"Jim"} 5> Act ! "Some nonsense". Dont know what to do "Some nonsense" ```