[gclist] Re: gclist-digest V3 #84
Scott Meyer
smeyer@us.oracle.com
Wed, 21 Jun 2000 11:31:38 -0700
At 09:09 AM 6/21/00 -0400, Lee Webber wrote:
>At 07:14 AM 6/21/00 -0500, Charles Fiterman wrote:
>>At 11:57 AM 6/21/00 +1200, Richard A. O'Keefe wrote:
>>>Charles Fiterman <cef@geodesic.com> wrote:
>>> Most programs these days are multi threaded which means even if
>>> collection occurs only at allocation points any thread can see
>>> it as happening anywhere.
>>>
>>>Surely Erlang can't be the only system with a per-thread heap?
>>>(The concurrent version of Quintus Prolog, which Tim Lindholm built,
>>>also did this, if I remember correctly.) The reason for having a
>>>per-thread heap is precisely so that other threads *don't* need to
>>>be stopped. Erlang does have "binaries" that are shared between threads,
>>>but they can't contain pointers, so a form of reference counting would
>>>work nicely for them.
>>
>>Erlang must be a functional language otherwise you'd have inter heap
>>pointers.
>
>Any implementation can avoid inter-thread pointers if all inter-thread
>communications have deep-copy semantics. This is limiting of course (and
>impossible unless deep-copy is implemented or just mandated), but it solves
>a lot of problems such as this and it makes trivial extending the system to
>true distributed processing.
The unglamorous way of saying this is: "You have just re-invented the
process."
-Scott
Scott Meyer 415 506 0987
Principal Member of Technical Staff
mailto:smeyer@us.oracle.com
Oracle - Languages & Relational Technology standard disclaimer