[erlang-questions] eep: multiple patterns

Ulf Wiger (TN/EAB) <>
Thu May 29 08:44:12 CEST 2008

Richard A. O'Keefe skrev:
> On 28 May 2008, at 7:41 pm, Ulf Wiger (TN/EAB) wrote:
>> I would just like to point out, for the record, that
>> this style of programming works well for gen_server-style
>> processes (and is, in fact, used in e.g. gen_server.erl),
>> but for selective receive, it is much harder, since
>> selective receive relies entirely on pattern matching,
>> and as such, is very difficult to modularize.
> It's not completely clear to me what Ulf Wiger means by
> "this style of programming".  Using "this style of
> programming" to mean "the decision table pattern",
> it works perfectly fine for selective receive.

Apologies for being unclear.
It seemed to me as if the thread was approaching
the idea of

receive Msg ->
   case classify_msg(Msg) of
     Type -> Action

which is what I was referring to.
It is not surprising that the OTP behaviours gen_server
and gen_fsm both use FIFO message reception, and then
classify each message, sometimes using a callback.

Maybe it's another thread altogether, but, I was
under the impression that abstract patterns could
actually help this situation (too) somewhat.
My own impression is that this is a more pressing
problem to solve than making multiple patterns more
convenient. If the discussions are orthogonal, great,
but otherwise, I'd like to see this particular
problem considered as well.

Ulf W

More information about the erlang-questions mailing list