[erlang-questions] non-FIFO behavior in process mailboxes?

Michael Turner <>
Sat Apr 28 06:10:39 CEST 2012

On Sat, Apr 28, 2012 at 5:18 AM, Erik Søe Sørensen <> wrote:
> Modeled as synchronous calls how exactly?
> If taken literally, it sounds like you're suggesting that the process make
> synchronous calls to itself...

In this case, yes. Blind as I might be at times, I *can* see the more
trivial cases of deadlock.

Besides which, I'm looking for all the asynchrony I can get. The code
from which my simplified example was distilled is part of an attempt
to implement the natural language processing model outlined in
linguist Richard Hudson's Word Grammar,


and it's not exactly clear where the human brain makes synchronous
calls to itself. Actually, a range of observable linguistic phenomena
suggest that nothing of the kind is involved. Formulating and uttering
a sentence might be something more like a team of people trying to
build a car, but sometimes dropping parts, picking the wrong part,
installing the right part the wrong way, bumping into each other
mid-task, dozing off on the job .... but mostly getting it right, most
of the time. In this sense, what I thought might be a bug was actually
just a misapplied feature.

-michael turner

> Den 27. apr. 2012 21.26 skrev David Mercer <>:
>> On Apr 22, 2012, at 20:38, Michael Turner
>> <> wrote:
>> > This bug came out of experimentation inspired by the recent discussion
>> > of initializing objects *after* their creation, a topic raised by
>> > Richard O'Keefe. And -- waddya know -- the problem here relates
>> > directly to his objection to this practice: inconsistent intermediate
>> > states. It appears that when you model your objects as processes, the
>> > danger is particularly acute.
>> If you had modeled the the set_arg_to and set_val_to as synchronous calls,
>> like your function val_for – and like gen_server's call rather than cast –
>> you can still do this.  Though I still agree with ROK.
>> Cheers,
>> DBM

More information about the erlang-questions mailing list