From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id LAA26421; Sat, 18 May 2002 11:48:34 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id LAA26401 for ; Sat, 18 May 2002 11:48:33 +0200 (MET DST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g4I9mVf23142; Sat, 18 May 2002 11:48:31 +0200 (MET DST) Received: (from xleroy@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id LAA26394; Sat, 18 May 2002 11:48:31 +0200 (MET DST) Date: Sat, 18 May 2002 11:48:31 +0200 From: Xavier Leroy To: Samuel Lacas Cc: caml-list@inria.fr Subject: Re: [Caml-list] COM binding & CAMLIDL ? Message-ID: <20020518114830.A25881@pauillac.inria.fr> References: <20020516112943.A8960@ouessant.trusted-logic.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: <20020516112943.A8960@ouessant.trusted-logic.fr>; from Samuel.Lacas@trusted-logic.fr on Thu, May 16, 2002 at 11:29:43AM +0200 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Hi Samuel, > Reading a recent thread on the list, I noticed that ocaml could be > used with COM components on windows. As I currently intensively use > the Python COM bindings with MS' text processor whose name I won't > say, I wonder if I could use ocaml to the same end. > However, the release notes in the ocaml-win distribution states that > the cygwin version lacks COM support, and the native win32 version > partially implements the libraries, among which I find no COM nor IDL > link. Does anyone on the list have more information ? In the Windows world, there are actually two flavors of COM, the inter-application communication framework: - "Pure" COM, which uses native C data representations, and is oriented towards statically-known, statically-typed IDL interfaces from which stub code can be statically generated. - Automation, which uses Visual Basic data representations (the "variant" universal type used by VB to represent its data), is dynamically typed, and is often used in a context where the IDL interfaces are dynamically discovered. Both flavors are loosely related -- Automation uses a fixed "pure" COM interface called IDispatch to implement remote invocation -- but quite different in practice. CamlIDL implements (most of) the "pure COM" approach, but is geared towards statically-typed, statically-known interfaces (on ne se refait pas, as we say in French), and is not suited to Automation. Microsoft applications use mostly (exclusively?) Automation to allow scripting. The reason is that Microsoft pushes Visual Basic as the scripting language for their applications, although non-Microsoft dynamically-typed scripting languages such as Perl and Python have also been quite successful at that, A Caml interface for Automation seems feasible, and actually could be simpler than the CamlIDL "pure COM" interface. I know of at least two serious users of Caml that are interested, and one of them is considering to host a summer intern to work on this. So, stay tuned. - Xavier Leroy ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners