From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id WAA00506 for caml-red; Sat, 10 Feb 2001 22:14:58 +0100 (MET) 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 SAA12605 for ; Fri, 9 Feb 2001 18:09:27 +0100 (MET) Received: from ns0.tui.co.uk ([212.134.156.130]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id f19H9RP18338 for ; Fri, 9 Feb 2001 18:09:27 +0100 (MET) Received: from tuimedia.co.uk (root@splurger.tuimedia.co.uk [10.1.1.10]) by ns0.tui.co.uk (8.9.1a/8.9.1) with ESMTP id RAA05452 for ; Fri, 9 Feb 2001 17:04:38 GMT Received: from tobe ([10.1.1.147]) by tuimedia.co.uk (8.6.12/8.6.9) with SMTP id PAA19745 for ; Fri, 9 Feb 2001 15:12:12 GMT Message-ID: <01e401c092fd$7c9821e0$9301010a@tobe> Reply-To: "Toby Watson" From: "Toby Watson" To: References: <3145774E67D8D111BE6E00C0DF418B663ED7AF@nt.kal.com> Subject: Re: OCaml on CLR/JVM? Date: Fri, 9 Feb 2001 17:04:52 -0800 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2919.6700 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700 Sender: weis@pauillac.inria.fr > > One thing I learnt is that the real problem with language > > interoperability is not how to compile language X to virtual machine Y > > (this can always be done, albeit more or less efficiently), but rather > > how to map between X's data structures and objects and those of all > > other languages Z1 ... Zn that also compile down to Y. > > To look at it another way, OCaml already shares a platform with C (at least > with the native-code compiler), so all the C libraries are already > available. > Yet it can still be a lot of effort to link with a C library. Why should > Java and .NET be any easier? Also, look at the effort that went into making > an ML/Java system with MLj. As I understand it part of the .NET effort is to specify *some* common higher-level to decrease types the impedence mismatch between languages. I think this is called the common language specification, and there is some further common type system (probably defines a protocol for collections and such) CTS. Whether or not they are successful - and I know the project7 is still carrying out research to improve type system compatibility - the Idea is to have practical interoperability between languages. Basically this is to improve upon the situation where you can make method calls, or even marshall objects between langauges but still need to generate pages of IDL or custom headers to have a decent interface. This goal is aided by retaining the type signatures and other information in binary files. Some general but useful non-MS background: http://www.cs.mu.oz.au/research/mercury/information/dotnet/mercury_and_dotne t.html not so non-MS http://www.dnjonline.com/articles/essentials/iss21_essentials.html cheers, toby