From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.7 required=5.0 tests=AWL,HTML_10_20,HTML_MESSAGE autolearn=disabled version=3.1.3 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id 1EDBDBBCA for ; Sat, 10 May 2008 14:24:06 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmQEAL8wJUjAXQImiGdsb2JhbACCNDePHgEBAQ8gkwuFRA X-IronPort-AV: E=Sophos;i="4.27,464,1204498800"; d="scan'208";a="12446459" Received: from discorde.inria.fr ([192.93.2.38]) by mail3-smtp-sop.national.inria.fr with ESMTP; 10 May 2008 14:24:05 +0200 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id m4ACO45L016511 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Sat, 10 May 2008 14:24:05 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmoGAIMwJUjRVcbkdWdsb2JhbACCNDePHgEMAwQECQ+TDoVE X-IronPort-AV: E=Sophos;i="4.27,464,1204498800"; d="scan'208";a="26027896" Received: from rv-out-0506.google.com ([209.85.198.228]) by mail4-smtp-sop.national.inria.fr with ESMTP; 10 May 2008 14:24:03 +0200 Received: by rv-out-0506.google.com with SMTP id k40so1627584rvb.57 for ; Sat, 10 May 2008 05:24:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; bh=2LYsbQMLqtdrMtH6AmuCuGX9rH0QH7pyhS0QqgZMPDc=; b=sAg7QW/Hi3lY5s13P9PT3Xv0diiNrVIIOOH0xJHXqCj1snoJDxQIYfSYJdu7CG1Y+0jJ7PsB56ELnsyzlQ3vd1c2qQCXFuOZs78WZK3g2h8tWW+Vs9uuZhe7VyQxS10nuIVrEgBt3EJFC0g+5IC72779sbvh36/gVWo1+67GtBs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=a0F+hbCWh/H4xe5bSvHpLzCVbJLHXfCGgeosb6smQtAaT1yaRkPsmVPW7U5pZ1xoB+J0jxJpoHs841H91bREs830c1otpVIOmeZmn6hLc5tBdEQJNNLmLkNNT3BRuAXwH5r26y1afuKAXYoBGGBAVNeoMsu/vt0bfBWEADhvNzY= Received: by 10.141.29.18 with SMTP id g18mr2671320rvj.298.1210422242384; Sat, 10 May 2008 05:24:02 -0700 (PDT) Received: by 10.140.193.3 with HTTP; Sat, 10 May 2008 05:24:02 -0700 (PDT) Message-ID: Date: Sat, 10 May 2008 14:24:02 +0200 From: "Berke Durak" To: "Richard Jones" Subject: Re: Ancient, concurrency, etc. Cc: caml-list In-Reply-To: <20080510111730.GA8755@annexia.org> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_6504_26324044.1210422242378" References: <20080510111730.GA8755@annexia.org> X-Miltered: at discorde with ID 482593E4.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; berke:01 durak:01 berke:01 durak:01 polymorphic:01 polymorphic:01 heap:01 heap:01 marshal:01 marshal:01 writes:01 writes:01 module:03 module:03 concurrency:04 X-Attachments: cset="UTF-8" cset="UTF-8" ------=_Part_6504_26324044.1210422242378 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Richard, There is no need to get angry. Ancient is a nice and useful module. Thank you for writing and sharing it. You brought it forward as a solution for inter-process message-passing after I proposed a faster Marshal designed for shared memory IPC. Ancient could fulfill that role, provided someone writes a way to copy a value out of the ancient heap, otherwise we'll (a) miss the usual polymorphic operators and (b) risk storing dangling references or inappropriately mutating ancient values. That's just a small function and would increase the usefulness of your module. PS.Maybe a 64-bit address space would be enough to generate a unique address for every ancient value so that they could be deleted using munmap. -- Berke ------=_Part_6504_26324044.1210422242378 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Richard,

There is no need to get angry.

Ancient is a nice and useful module.  Thank you for writing and sharing
it.

You brought it forward as a solution for inter-process message-passing after
I proposed a faster Marshal designed for shared memory IPC.  Ancient could
fulfill that role, provided someone writes a way to copy a value out of the
ancient heap, otherwise we'll (a) miss the usual polymorphic operators and
(b) risk storing dangling references or inappropriately mutating ancient
values.  That's just a small function and would increase the usefulness of
your module.

PS.Maybe a 64-bit address space would be enough to generate a unique address
for every ancient value so that they could be deleted using munmap.
--
Berke

------=_Part_6504_26324044.1210422242378--