[erlang-questions] eep: multiple patterns

Dave Peticolas <>
Fri May 30 00:52:22 CEST 2008


Ulf Wiger wrote:
> Dave Peticolas skrev:
>>
>> Could you expand on this point for the benefit
>  > of the newbies? :)
>> I'm not clear about what exactly is the problem
>  > with gen_server's message handling and what the
>  > better approach is.
>
> The problem is not with gen_server, which is wonderful
> for implementing client-server patterns.
>
> The issue is with FIFO message handling, at least when
> used for complex state machines. It is very difficult
> to write a behavior that lets the user have control
> over selective message reception. In selective receive,
> you can use only patterns and guards, and neither can
> be extended with user-defined logic via a callback
> function.
>
> Here are some slides from EUC 2005 on the topic:
> http://www.erlang.se/euc/05/1500Wiger.ppt
>
>
> You could read the thread:
> "plain_fsm - for beginners and purists"
> from 2004:
>
> http://www.erlang.org/pipermail/erlang-questions/2004-February/011403.html
>
> and then the "higher-order receive anybody" thread:
>
> http://www.erlang.org/pipermail/erlang-questions/2004-February/011514.html
>
>
>
> This most likely give you more detail than you asked for. (:

Not at all, it is very informative, thanks!

dave




More information about the erlang-questions mailing list