caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Xavier Leroy <xavier.leroy@inria.fr>
To: Samuel Lacas <Samuel.Lacas@trusted-logic.fr>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] COM binding & CAMLIDL ?
Date: Sat, 18 May 2002 11:48:31 +0200	[thread overview]
Message-ID: <20020518114830.A25881@pauillac.inria.fr> (raw)
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

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


  parent reply	other threads:[~2002-05-18  9:48 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-16  9:29 Samuel Lacas
2002-05-16 12:26 ` Dmitry Bely
2002-05-18  9:48 ` Xavier Leroy [this message]
2002-05-18 11:28   ` Dmitry Bely

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020518114830.A25881@pauillac.inria.fr \
    --to=xavier.leroy@inria.fr \
    --cc=Samuel.Lacas@trusted-logic.fr \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).