From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 7962DBC37 for ; Mon, 28 Dec 2009 16:07:46 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AswBANtYOEtZELGafGdsb2JhbACBSZoAAQELFQW3V4QzBIFl X-IronPort-AV: E=Sophos;i="4.47,463,1257116400"; d="scan'208";a="42838894" Received: from recoil.dh.bytemark.co.uk (HELO dark.recoil.org) ([89.16.177.154]) by mail1-smtp-roc.national.inria.fr with SMTP; 28 Dec 2009 16:07:46 +0100 Received: (qmail 17843 invoked by uid 634); 28 Dec 2009 15:07:45 -0000 X-Spam-Level: * X-Spam-Check-By: dark.recoil.org Received: from i-195-137-95-246.freedom2surf.net (HELO [192.168.100.120]) (195.137.95.246) (smtp-auth username remote@recoil.org, mechanism cram-md5) by dark.recoil.org (qpsmtpd/0.83) with ESMTPA; Mon, 28 Dec 2009 15:07:44 +0000 Subject: Re: [Caml-list] Re: multicore wish Mime-Version: 1.0 (Apple Message framework v1077) Content-Type: text/plain; charset=us-ascii From: Anil Madhavapeddy In-Reply-To: <1262003315.32602.6.camel@flake.lan.gerd-stolpmann.de> Date: Mon, 28 Dec 2009 15:07:41 +0000 Cc: Goswin von Brederlow , Jon Harrop , caml-list@yquem.inria.fr Content-Transfer-Encoding: quoted-printable Message-Id: References: <4B2D2BC1.6020204@msu.edu> <200912221912.51017.jon@ffconsultancy.com> <87r5qk5x1j.fsf@frosties.localdomain> <200912241706.51917.jon@ffconsultancy.com> <87bphkk2ke.fsf@frosties.localdomain> <1262003315.32602.6.camel@flake.lan.gerd-stolpmann.de> To: Gerd Stolpmann , Thomas Gazagnaire X-Mailer: Apple Mail (2.1077) X-Virus-Checked: Checked by ClamAV on dark.recoil.org X-Spam: no; 0.00; anil:01 anil:01 gerd:01 stolpmann:01 hash:01 hash:01 camlp:01 mutable:01 28,:98 polymorphic:01 polymorphic:01 wrote:01 heap:01 caml-list:01 functions:01 On 28 Dec 2009, at 12:28, Gerd Stolpmann wrote: > However, there are some problems: Values outside the heap do not = support > the polymorphic comparison and hash functions. That's a hard = limitation, > e.g. you cannot even compare two strings, or build a hash table with > strings as keys. That limits the usefulness of shared memory. Camlp4 may help here; Thomas Gazagnaire and I have been working on a = language-integrated ORM, and it has a reliable type-conv hash generator = library [1]. It works with mutable records as well as immutable ones (the main = limitation of the built-in polymorphic hash function) but it could be = used to generate explicit comparison functions for shared memory as = well. We need to split out the various support libraries in the ORM = separately at some point anyway, so if the hash generator is of any use = I'll cut a release. [1] http://github.com/avsm/ocaml-orm-sqlite/tree/master/hash/ -anill=