[erlang-questions] Uniqueness Typing for Resource Management in Message-Passing Concurrency

Ivan Uemlianin ivan@REDACTED
Thu Jul 3 15:52:05 CEST 2014

Good points thanks.

On 03/07/2014 13:47, Fred Hebert wrote:
> On 07/03, Ivan Uemlianin wrote:
>> Dear All
>> Saw this and thought of you.
>> Uniqueness Typing for Resource Management in Message-Passing Concurrency
>> http://arxiv.org/abs/1003.5513
>> (submitted 2010)
>> Mentions erlang in passing.  Here is the abstract:
>> We view channels as the main form of resources in a message-passing
>> programming paradigm. These channels need to be carefully managed in
>> settings where resources are scarce. To study this problem, we extend the
>> pi-calculus with primitives for channel allocation and deallocation and
>> allow channels to be reused to communicate values of different types.
>> Inevitably, the added expressiveness increases the possibilities for runtime
>> errors. We define a substructural type system which combines uniqueness
>> typing and affine typing to reject these ill-behaved programs.
> This sounds like it would be nicer for a language with actual channels.
> There are a few differences with Pi-Calculus and Erlang:
> - Pi-Calculus assumes synchronous message delivery, Erlang doesn't
> - Pi-Calculus assumes the usage of channels that are nameable and
>    passable as if they were variables, Erlang has a per-process mailbox
>    (you can pass pids as if they were channels and treat specific
>    processes as channels, I guess)
> - Channels can be created at any time by anyone
> - More.
> Interestingly enough, there were still attempts to model a subset Erlang
> as pi-calculus for verification purposes (they did need to make an async
> pi-calc I believe):
> http://www.cs.usask.ca/~croy/papers/2006/Erlang06_Roy.pdf
> Regards,
> Fred.

Ivan A. Uemlianin PhD
Speech Technology Research and Development


                         festina lente

More information about the erlang-questions mailing list