[erlang-questions] Erlang modelling question

Olivier Boudeville olivier.boudeville@REDACTED
Sun Jun 24 23:52:12 CEST 2007

Yes, this was what I was thinking at, at least at first.

4 cases of incoming messages : two types of requests (regular or oneway,
hence with the sender PID or not), with or without parameters (with an
atom to discriminate ambiguous cases if needed), and between 0 and n
"default handlers" in case this per-class handler does not specify what
to do. Default handlers could be seen by POO-fans as superclasses.
Actually such a full-blown solution could be almost found from various

But at first I will (try to) keep it simpler, just to know if it may be
worth the trouble doing so !

Thanks for your help,


Val Functor a écrit :
> On 6/23/07, *Olivier Boudeville* <olivier.boudeville@REDACTED
> <mailto:olivier.boudeville@REDACTED>> wrote:
>     How such a problem could be mapped into Erlang concepts ? How
>     would you
>     model the situation, knowing that each creature can live, move and
>     die,
>     that mammals are indeed specialized creatures that have backbones, and
>     that dogs are specialized mammals with four legs and a tail ?
>     What I would like is to avoid the developer having to hardcode by
>     himself the implied inheritance between actors : when adding a cat in
>     the simulation, I would like to specify 1. it is a specialized
>     mammal,
>     2. what are its specific traits, but not that a cat has a backbone and
>     it can live, move and die.
> A cat is a modeled by a process.
> A cat can only: receive messages, to which it can only either reply or
> not.
> If it knows how to reply to a message it does so.
> If it does not know, but knows of some other process who could know,
> it forwards the incoming message there and the reply, if any, to the
> original requester.
> If it does not know, and does not know who else to ask, it either does
> not reply or it does reply 'i do not know'.
> The creator of the cat would pass it knowledge about where to send
> messages it does not know how to handle

More information about the erlang-questions mailing list