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 JAA17278; Sun, 30 May 2004 09:33:16 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id JAA17331 for ; Sun, 30 May 2004 09:33:15 +0200 (MET DST) Received: from outbound28-2.lax.untd.com (outbound28-2.lax.untd.com [64.136.28.160]) by nez-perce.inria.fr (8.12.10/8.12.10) with SMTP id i4U7XDEV028106 for ; Sun, 30 May 2004 09:33:14 +0200 Received: from outbound28-2.lax.untd.com (smtp04.lax.untd.com [10.130.24.124]) by smtpout02.lax.untd.com with SMTP id AABAMVDTFAETDGBA for (sender ); Sun, 30 May 2004 00:32:53 -0700 (PDT) Received: (qmail 16044 invoked from network); 30 May 2004 07:31:54 -0000 Received: from dialup-4.242.105.65.dial1.seattle1.level3.net (HELO vangogh) (4.242.105.65) by smtp04.lax.untd.com with SMTP; 30 May 2004 07:31:54 -0000 From: "Brandon J. Van Every" To: "caml" Subject: [Caml-list] Efficient C++ interfacing? Date: Sun, 30 May 2004 00:41:31 -0700 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0000_01C445DE.D9D46C50" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) Importance: Normal X-MS-TNEF-Correlator: X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 X-ContentStamp: 11:5:2085877213 X-MAIL-INFO: 584de9699cac2ccce5ac00d50d8c6db10d55e9bd1978b19db141fc21015c1da50195eda5bd013d2cbd1d3cb939492cb52c11e1cd31f1bcf53198b9a9bcdda9bc388cbcd9d8a1f19588d97188d968fcd959c1b145 X-UNTD-OriginStamp: CI84cOLHFqh7Zd2QWkwvEFvwyO3T/pIsPQZphDk9MRjvS0AZOzbtWWlSKCTKsFC/ X-Miltered: at nez-perce with ID 40B98E39.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; brandon:99 interfacing:01 pointers:01 binders:01 swig:01 swig:01 brandon:99 seattle:99 2004:99 bindings:01 ocaml:01 ocaml:01 terribly:01 native:02 native:02 X-Attachments: type="application/ms-tnef" name="winmail.dat" name="winmail.dat" Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C445DE.D9D46C50 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit On the subject of C++, the archive is daunting and not terribly informative. If this has been asked before and good answers have been given, I'm happy for pointers. Otherwise, I figure it doesn't hurt to ask the same questions at some repeating time interval. If one wants to interface native OCaml code to native C++ code for performance reasons, what is a good way to go about it? Are there any automated binders for this native-native linkage? I've been looking at SWIG but am unsure if it's native-native. The OCaml SWIG author suggested that the performance is more on par with calling a scripting language, but maybe I misunderstood. I'd be interested in optimizing that, but only if it's a reasonable architectural approach. I really don't have a handle on what C++ <--> OCaml efforts are out there. Anything other than SWIG? My challenge problem is providing OCaml bindings for The Nebula Device 2. http://nebuladevice.cubik.org. I do not wish to use their script server interface. It looks like a relatively low performance binding - adequate for scripts that aren't supposed to be fast, but really not intended for native-native communication. Also, script servers can only interface nRoot objects, leaving a whole class of nNode objects that must be accessed from C++. Cheers, www.indiegamedesign.com Brandon Van Every Seattle, WA "The pioneer is the one with the arrows in his back." - anonymous entrepreneur --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.691 / Virus Database: 452 - Release Date: 5/26/2004 ------=_NextPart_000_0000_01C445DE.D9D46C50 Content-Type: application/ms-tnef; name="winmail.dat" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="winmail.dat" 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 AABShQAAc3kBAB4ACYAIIAYAAAAAAMAAAAAAAABGAAAAAFSFAAABAAAABAAAADkuMAALAA2ACCAG AAAAAADAAAAAAAAARgAAAACChQAAAQAAAAsAOoAIIAYAAAAAAMAAAAAAAABGAAAAAA6FAAAAAAAA AwA8gAggBgAAAAAAwAAAAAAAAEYAAAAAEYUAAAAAAAADAD2ACCAGAAAAAADAAAAAAAAARgAAAAAY hQAAAAAAAAsAUoAIIAYAAAAAAMAAAAAAAABGAAAAAAaFAAAAAAAAAwBTgAggBgAAAAAAwAAAAAAA AEYAAAAAAYUAAAAAAAADAN6BQAmzZzU70hGllQAgGGSLpwEAAAAgAAAAQQBWAEcAIABGAEwAQQBH AFMAIAAoAE8AVQBUACkAAAAAAAADAgH4DwEAAAAQAAAAU/8uOc9n7kCykvfmNq7i9AIB+g8BAAAA EAAAAFP/LjnPZ+5AspL35jau4vQCAfsPAQAAAJoAAAAAAAAAOKG7EAXlEBqhuwgAKypWwgAAUFNU UFJYLkRMTAAAAAAAAAAATklUQfm/uAEAqgA32W4AAABDOlxEb2N1bWVudHMgYW5kIFNldHRpbmdz XHZhbmV2ZXJ5XExvY2FsIFNldHRpbmdzXEFwcGxpY2F0aW9uIERhdGFcTWljcm9zb2Z0XE91dGxv b2tcb3V0bG9vay5wc3QAAAADAP4PBQAAAAMADTT9NwAAAgF/AAEAAAA8AAAAPE9PRUFMQ0pDS0VC SkJJSkhDTkpEQ0VPQUhDQUIudmFuZXZlcnlAaW5kaWVnYW1lZGVzaWduLmNvbT4AAwAGEJVHiZAD AAcQFAUAAAMAEBAAAAAAAwAREAAAAAAeAAgQAQAAAGUAAABPTlRIRVNVQkpFQ1RPRkMrKyxUSEVB UkNISVZFSVNEQVVOVElOR0FORE5PVFRFUlJJQkxZSU5GT1JNQVRJVkVJRlRISVNIQVNCRUVOQVNL RURCRUZPUkVBTkRHT09EQU5TV0VSAAAAAEuK ------=_NextPart_000_0000_01C445DE.D9D46C50-- ------------------- 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