[Prev][Next][Index][Thread]
Re: Functional Developer UNICODE support + source?
-
To: info-dylan@ai.mit.edu
-
Subject: Re: Functional Developer UNICODE support + source?
-
From: Duane Rettig <duane@franz.com>
-
Date: Wed, 25 Jul 2001 13:15:01 -0400 (EDT)
-
Organization: Franz Inc.
-
References: <200107251527.LAA14194@life.ai.mit.edu>
-
User-Agent: Gnus/5.0807 (Gnus v5.8.7) XEmacs/21.1 (Channel Islands)
-
Xref: traf.lcs.mit.edu comp.lang.dylan:13514
Rob Myers <robmyers@mac.com> writes:
> On Wednesday, July 25, 2001, at 12:30 pm, Mark Jordan wrote:
>
> > I'd ask for the rules, but the complex job of writing Dylan CFFI's and
> > no unicode has put me off using Dylan at all. What I really need is
> > a CPPFFI to interface to existing C++ class libraries. Any ideas on
> > how this might be done?
>
> C++ compiler manufacturers would need to agree on common name
> mangling, vtable layout and exception handling conventions and they'd
> then all need to implement them. This would allow C++ code compiled
> with different versions of the same compiler, or C++ compilers from
> different vendors, to call C++ code that isn't statically compiled
> into the same compilation unit. It would then be relatively trivial to
> allow other languages to join the party.
As I understand it, C++ (either by standard or methodology) actually
_encourages_ the divergence of mangling techniques per vendor, so as
to render such an idea virtually useless (or at least very hard and
C++ vendor specific). I heard this second-hand, so I don't know if
it is common practice or actually mentioned in the C++ standard. The
rationale is apparently that disparate mangling would reduce the
chance of a name clash between vendors (not that I've ever heard of
any two C++ vendors linking programs together :-).
So in the CL world we speak to C++ as directly as possible by their
only real direct interface: extern "C", or indirectly through COM,
Corba, etc.
--
Duane Rettig Franz Inc. http://www.franz.com/ (www)
1995 University Ave Suite 275 Berkeley, CA 94704
Phone: (510) 548-3600; FAX: (510) 548-8253 duane@Franz.COM (internet)
Follow-Ups: