From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id pA7G2x2w023571 for ; Mon, 7 Nov 2011 17:02:59 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ag4FAAsAuE7V1xdi/2dsb2JhbABDhHqdDQGGPIEagQ2BaQUdAg90AQcHMAIkEgEFAQ4UGxqFJoIyCgaWboJbCosNkhOIFYEWBJQhjT89g3E X-IronPort-AV: E=Sophos;i="4.69,470,1315173600"; d="scan'208";a="128982888" Received: from gide-lanoue-23-98.cnt.nerim.net (HELO khaki.gide.net) ([213.215.23.98]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 07 Nov 2011 17:02:53 +0100 Received: from mail-qy0-f175.google.com (mail-qy0-f175.google.com [209.85.216.175]) (authenticated bits=0) by khaki.gide.net (8.13.8/8.13.8) with ESMTP id pA7G2koa008714 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Mon, 7 Nov 2011 17:02:47 +0100 Received: by qyc1 with SMTP id 1so2983381qyc.6 for ; Mon, 07 Nov 2011 08:02:18 -0800 (PST) Received: by 10.229.221.11 with SMTP id ia11mr2318825qcb.97.1320681738113; Mon, 07 Nov 2011 08:02:18 -0800 (PST) MIME-Version: 1.0 Reply-To: remi.dewitte@gide.net Received: by 10.229.215.81 with HTTP; Mon, 7 Nov 2011 08:01:56 -0800 (PST) From: =?UTF-8?Q?R=C3=A9mi_Dewitte?= Date: Mon, 7 Nov 2011 17:01:56 +0100 Message-ID: To: caml-list Content-Type: multipart/alternative; boundary=0016e686ccd4dc90e104b1272d4e Subject: [Caml-list] Ad-hoc component system with a plug-in architecture --0016e686ccd4dc90e104b1272d4e Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hello, =46rom the arcticle 'OCaml, the ultimate refactoring tool' [1] written by Yaron Minsky, he writes : "So, I replaced this ad-hoc component system with a plug-in architecture where every component registered itself in a uniform way, with a flexible, type-safe way for the components to communicate." I am curious to know how you would build such a component system ? I have tried to use dynlink library but found it difficult to deal with because of dependencies. I have ended up using cppo as a macroprocessor and ship various versions of my binary. Cheers, R=C3=A9mi [1] http://ocaml.janestcapital.com/?q=3Dnode/101 --0016e686ccd4dc90e104b1272d4e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hello,

From the arcticle 'OCaml, the ultimate refactoring tool&#= 39; [1] written by Yaron Minsky, he writes :

"So, I replaced th= is ad-hoc component system with a plug-in architecture where every component registered itself in a uniform way, with a flexible, type-safe way for the components to communicate."
I am curious to know how you would build such a component system ?
=
I have tried to use dynlink library but found it difficult to deal with= because of dependencies. I have ended up using cppo as a macroprocessor an= d ship various versions of my binary.

Cheers,
R=C3=A9mi

[1] http://ocaml.janestcapital.com/?q=3Dnode/101
--0016e686ccd4dc90e104b1272d4e--