functional

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Wed Mar 10 16:41:01 PST 2010


On 03/10/2010 06:06 PM, grauzone wrote:
> Andrei Alexandrescu wrote:
>> On 03/10/2010 05:01 PM, grauzone wrote:
>>> Andrei Alexandrescu wrote:
>>>> There's one final nail in the coffin. In wake of concurrency, de jure
>>>> immutability becomes a necessity, not a useful and desirable de facto
>>>> convention. Adopting the window dressing but not the essence of FP by
>>>> a concurrent language evokes to me a scene in the Marx Brothers: an
>>>> otherwise impeccably-dressed gentleman who forgot to put his pants on.
>>>
>>> Language support is not strictly necessary to get the same effects as
>>> immutable types, as far as multithreading is concerned: small data can
>>> be copied, and large data can be made read-only by OS syscalls. This
>>> just had to be in the message passing library. (As a bonus, it isn't
>>> possible to subvert these mechanisms just by casting.)
>>
>> That'll never work. The OS granularity is 4KB increments.
>
> Data this small you would simply copy. Because it's so small, copying
> won't have negative performance impact. The OS approach can be used for
> large data (at least in the order of hundreds of KB) and immutable parts
> of the data segment.

Trust me, that will never work anywhere close to satisfactory. It's even 
useless to talk about it.

Andrei



More information about the Digitalmars-d mailing list