I've been looking for a way to hook up messages to a thread with a handler function. As far as I can tell receive pattern matching only allows the pattern to be distinguished by the parameter signature which does not help when all the handlers only have a few different signatures.
I like the pattern matching concept as I have worked with Erlang which will pattern match to a term (basically an arbitrary structure). Erlang defines an Atom type which is really a global constant that can be used as a message type in the match. Does anyone know of a way to simulate this? Failing that I think a dispatcher structure using an associative array would be my next choice. However I'm getting stuck on how to define and use an array which maps a string key to a delegate. Can someone help me out there please. I will then effectively have my 'Atom' as a string in the message and dispatch on that. I don't want to hard code in a switch statement. Any other suggestions are very welcome. Thanks Bob