From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 61361BC57 for ; Sat, 15 May 2010 23:28:02 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AuoEAL+u7ktKfVI2jmdsb2JhbACSAoEUimIIFQEBAQESChoirGIBBY0bAQSFEA X-IronPort-AV: E=Sophos;i="4.53,237,1272837600"; d="scan'208";a="59401884" Received: from mail-ww0-f54.google.com ([74.125.82.54]) by mail1-smtp-roc.national.inria.fr with ESMTP; 15 May 2010 23:28:02 +0200 Received: by wwb34 with SMTP id 34so116529wwb.27 for ; Sat, 15 May 2010 14:28:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:from:to:references :in-reply-to:subject:date:organization:message-id:mime-version :content-type:content-transfer-encoding:x-mailer:thread-index :content-language; bh=Jx1Ns2RD9+z1x1q3UZa1niu/QcXXtdcT/jwpSPQgvJs=; b=S30/ZzytVwErwYJugidIBRFwYVUNf3NEWQMex289JCW7As+FVdIA4NEPvuNYRRzvcn VvfPmgm5AnaG4WRIt/SqYONYfjgYbsW3kMdyhA5T20x6BikOgCYLUyQRjoftFJX6drBm vkAKVq/DKVFx0HDvEy7Xp9e6hxeiPQVUwycco= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=from:to:references:in-reply-to:subject:date:organization:message-id :mime-version:content-type:content-transfer-encoding:x-mailer :thread-index:content-language; b=ng3WCHBlaMQSCqaKovqjH0mexgixddjDG2DTGykox4TKoUZNbiojGuJHomIVyc+BHM EyfVfSBdsV3kxyi+ovIhOA/snmN+WuvAj0nk5Q4hu1JyB2xoe9AhWI+Ma5q6/EFNcrve gYgXN4cnzz/2b+BjEdmGz1In+rtHhcBVG65Gk= Received: by 10.227.155.135 with SMTP id s7mr2847068wbw.168.1273958881869; Sat, 15 May 2010 14:28:01 -0700 (PDT) Received: from WinEight (87.114.183.77.plusnet.thn-ag1.dyn.plus.net [87.114.183.77]) by mx.google.com with ESMTPS id p29sm14042843wbe.16.2010.05.15.14.28.00 (version=SSLv3 cipher=RC4-MD5); Sat, 15 May 2010 14:28:01 -0700 (PDT) From: Jon Harrop To: References: <20100512151137.26894ywcpv71ixvk@imp.ovh.net> <012601caf351$e9a362e0$bcea28a0$@com> <87fx1uh5r5.fsf@frosties.localdomain> <49505E67-4974-4F0B-A6B7-0E87214E92BB@gmail.com> <20100515104348.7c6b4fd2.mle+ocaml@mega-nerd.com> <87iq6p7vv5.fsf@frosties.localdomain> In-Reply-To: <87iq6p7vv5.fsf@frosties.localdomain> Subject: RE: [Caml-list] about OcamIL Date: Sat, 15 May 2010 22:27:46 +0100 Organization: Flying Frog Consultancy Message-ID: <01c001caf475$79aa5f00$6cff1d00$@com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: Acrz1Km/kQVOWD+0Q16yaeLv38+S6gAnu9MA Content-Language: en-gb X-Spam: no; 0.00; runtime:01 high-level:01 non-trivial:01 ocaml:01 xmlrpc:01 cheers:01 two-way:98 garbage:01 closures:01 wrote:01 caml-list:01 emulate:01 data:02 structures:02 segmentation:03 Goswin wrote: > Hardly any business today has an inhomogene environment. And if the > environment is homogene then the vm gives you 0 advantage. It just > costs you overhead to emulate. A Common Language Runtime (CLR) is an obvious counter example => the shared VM gives you safe and high-level interoperability between languages. For example, you can pass garbage collected data structures between languages by reference because they share a single GC. Without a CLR, you generally resort to painstakingly copying everything for no reason and give up for anything non-trivial (like closures) and often end up with segmentation faults and no working code. I was once asked how someone might interoperate between Standard ML and OCaml (two very closely related languages) and my answer was XMLRPC. Contrast that with F# development where almost every program in existence relies entirely upon seamless two-way interoperability with C# libraries like WPF. Cheers, Jon.