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.0 required=5.0 tests=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id C486EBBAF for ; Sat, 11 Apr 2009 17:03:57 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvgEAHtO4Ek+BBBqYGdsb2JhbACBUpRaHyUDswCDfAY X-IronPort-AV: E=Sophos;i="4.40,172,1238968800"; d="scan'208";a="24414870" Received: from smtp-106-saturday.nerim.net (HELO kraid.nerim.net) ([62.4.16.106]) by mail2-smtp-roc.national.inria.fr with ESMTP; 11 Apr 2009 17:03:57 +0200 Received: from hector.lesours (ours.starynkevitch.net [213.41.244.95]) by kraid.nerim.net (Postfix) with ESMTP id D13C6CF0B4; Sat, 11 Apr 2009 17:03:56 +0200 (CEST) Received: from glinka.lesours ([192.168.0.1]) by hector.lesours with esmtp (Exim 4.69) (envelope-from ) id 1LsekP-0000jY-KY; Sat, 11 Apr 2009 17:03:57 +0200 Message-ID: <49E0B15C.6080208@starynkevitch.net> Date: Sat, 11 Apr 2009 17:03:56 +0200 From: Basile STARYNKEVITCH User-Agent: Mozilla-Thunderbird 2.0.0.19 (X11/20090103) MIME-Version: 1.0 To: Lukasz Stafiniak Cc: Caml Subject: Re: [Caml-list] OCaml and Boehm References: <4a708d20904101313s49ef3b75m45202b6bda800b77@mail.gmail.com> <49E066E5.8060107@starynkevitch.net> <4a708d20904110511o7d390807r3d29400cf96d6f35@mail.gmail.com> <49E09C2D.4080906@starynkevitch.net> <4a708d20904110711i199ef805h611a04d823c8fb51@mail.gmail.com> In-Reply-To: <4a708d20904110711i199ef805h611a04d823c8fb51@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-2; format=flowed Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; basile:01 basile:01 ocaml:01 boehm:01 lukasz:01 boehm:01 pointers:01 ocaml:01 bug:01 faiencerie:01 92340:01 reine:01 garbage:01 wrote:01 caml-list:01 Lukasz Stafiniak wrote: >> > It is a large application. They debate whether to use Boehm or smart > pointers. They already have embedded Scheme (Guile) and are about to > embed Python. (Guile is said to be Boehm-compatible, in some sense, > from the next version.) It is possible that Boehm is a no-way for > them, I asked here to investigate this. > My advice is always to avoid mixing several garbage collection techniques or implementations inside the same program. I am not sure "they" are right in embedding both Guile & Python inside the same program. I would really avoid doing that, especially if the application is long-running or has to be reliable. Did you consider having a separate Ocaml program (& perhaps also a separate Python program) which communicates with that application using some communication channel (be it a pipe, a socket, IPC or Posix shared memory, ...) which at least provides a separation between various GCs and address spaces... From what you are suggesting, "your" application seems to be a big spaghetti system, very brittle and hard to maintain. I do know that these are very common, but I won't like to be at your place... because you describe a realistic, but quite nasty, situation (probably more a management issue than a technical one). But beware of one stuff: GC bugs are hard to find! A single bug could mean weeks of efforts! Regards. -- Basile STARYNKEVITCH http://starynkevitch.net/Basile/ email: basilestarynkevitchnet mobile: +33 6 8501 2359 8, rue de la Faiencerie, 92340 Bourg La Reine, France *** opinions {are only mines, sont seulement les miennes} ***