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 JAA17174; Sun, 6 Jun 2004 09:01:06 +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 JAA17487 for ; Sun, 6 Jun 2004 09:01:03 +0200 (MET DST) Received: from smtp1.adl2.internode.on.net (smtp1.adl2.internode.on.net [203.16.214.181]) by nez-perce.inria.fr (8.12.10/8.12.10) with ESMTP id i5670xEV012535 for ; Sun, 6 Jun 2004 09:01:01 +0200 Received: from [192.168.1.200] (ppp114-11.lns1.syd3.internode.on.net [150.101.114.11]) by smtp1.adl2.internode.on.net (8.12.9/8.12.9) with ESMTP id i5670g4Y018267; Sun, 6 Jun 2004 16:30:43 +0930 (CST) Subject: Re: [Caml-list] Efficient C++ interfacing? From: skaller Reply-To: skaller@users.sourceforge.net To: John Goerzen Cc: erayo@cs.bilkent.edu.tr, ronniec95@lineone.net, caml-list In-Reply-To: <20040606033327.GA23341@complete.org> References: <40800C10000A6ABC@mk-cpfrontend-4.mail.uk.tiscali.com> <200406051945.14906.exa@kablonet.com.tr> <1086462462.16811.577.camel@pelican.wigram> <200406060331.05195.exa@kablonet.com.tr> <20040606033327.GA23341@complete.org> Content-Type: text/plain Message-Id: <1086505241.16811.625.camel@pelican.wigram> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.2.2 (1.2.2-4) Date: 06 Jun 2004 17:00:42 +1000 Content-Transfer-Encoding: 7bit X-Miltered: at nez-perce with ID 40C2C12C.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 interfacing:01 sourceforge:01 2004:99 2004:99 eray:01 ozkural:01 kde:01 kde:01 frontc:01 selectable:99 recursion:01 9660:01 glebe:01 backend:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Sun, 2004-06-06 at 13:33, John Goerzen wrote: > On Sun, Jun 06, 2004 at 03:31:04AM +0300, Eray Ozkural wrote: > > Skaller, as a KDE developer I beg you. Please do it for Qt and KDE as well. > > The other nice thing is this: if we get Qt bindings, then OCaml > suddenly becomes a viable language for developing embedded > applications thanks to Qt/Embedded. That would be excellent. Well, there are two obstacles at the moment: (1) Flxcc can't parse C++ yet (2) Flxcc can't target Ocaml yet Parsing C++ - templates is quite easy: I've already made the mods to Frontc parser. However, the parse tree is processed by Cil, which does some complex transformations to regularise the representation, and modifying that isn't so easy. Cil handles the whole of C, whereas we actually only need to process interfaces -- expressions could be useful (default arguments, template arguments, and typeof) Generating Ocaml should be easy. However the program will need to be factored to have a selectable backend. It will need to do a bit more work than the Felix backend however: Ocaml has separate compilation, Felix doesn't. Ocaml can't do general recursion, Felix has trouble doing anything else. But I have no doubt it can be done, even if the result isn't perfect. What's needed is developers. Wrapper generators need extensive testing by experts in the wrapped libraries, and the code has to be lifted out of Felix and put into a new project (and then Felix will have to re-integrate it). I guess we need 4 developers to start off. And a better name than 'flxcc' before registering a new project :) -- John Skaller, mailto:skaller@users.sf.net voice: 061-2-9660-0850, snail: PO BOX 401 Glebe NSW 2037 Australia Checkout the Felix programming language http://felix.sf.net ------------------- 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