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: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Reply via email to