From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id C157F7EE80 for ; Thu, 21 Mar 2013 01:26:49 +0100 (CET) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of jon@ffconsultancy.com) identity=pra; client-ip=84.93.230.244; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jon@ffconsultancy.com"; x-sender="jon@ffconsultancy.com"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of jon@ffconsultancy.com) identity=mailfrom; client-ip=84.93.230.244; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jon@ffconsultancy.com"; x-sender="jon@ffconsultancy.com"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@avasout03.plus.net) identity=helo; client-ip=84.93.230.244; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jon@ffconsultancy.com"; x-sender="postmaster@avasout03.plus.net"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AkMHAHRTSlFUXeb0gWdsb2JhbABDhhSsfXqRL4FVFg4BARYmKIIkAQEEAQgCMDQEBwUHAQMCCQ4DBAEBAQ0aBxkjCQEJCAIEEwsFAgKHbgMJCgi4YgOJZY1agSsLBwaDOgOOLIlTkm2Bag X-IPAS-Result: AkMHAHRTSlFUXeb0gWdsb2JhbABDhhSsfXqRL4FVFg4BARYmKIIkAQEEAQgCMDQEBwUHAQMCCQ4DBAEBAQ0aBxkjCQEJCAIEEwsFAgKHbgMJCgi4YgOJZY1agSsLBwaDOgOOLIlTkm2Bag X-IronPort-AV: E=Sophos;i="4.84,881,1355094000"; d="scan'208";a="7254928" Received: from avasout03.plus.net ([84.93.230.244]) by mail3-smtp-sop.national.inria.fr with ESMTP; 21 Mar 2013 01:26:49 +0100 Received: from XPS ([87.112.110.254]) by avasout03 with smtp id E0Sm1l0035VNGGP010Sn9k; Thu, 21 Mar 2013 00:26:48 +0000 X-CM-Score: 0.00 X-CNFS-Analysis: v=2.0 cv=Df3JXIRW c=1 sm=1 a=fP/72gr2kmGa62nm52o1XQ==:17 a=PcxEMZpPzg4A:10 a=Xub9RBUEA-sA:10 a=Kvk-SOs2Z7YA:10 a=kj9zAlcOel0A:10 a=r2vSxAw-AAAA:8 a=fP-f-03R_oAA:10 a=h6pNz4pCAAAA:8 a=ZOzjf2MOAAAA:8 a=CjxXgO3LAAAA:8 a=zZGqkC-itRh5LZgz_qQA:9 a=CjuIK1q_8ugA:10 a=WJrl4WifqjgA:10 a=d6ZO2ScF64gA:10 a=fP/72gr2kmGa62nm52o1XQ==:117 X-AUTH: jdh302:2500 Reply-To: From: "Jon Harrop" To: "'Yaron Minsky'" Cc: References: <878v5lca2c.fsf@li195-236.members.linode.com> <9813208.KJBpLPkkvX@groupon> <069c01ce25ab$a9cf3f10$fd6dbd30$@ffconsultancy.com> In-Reply-To: Date: Thu, 21 Mar 2013 00:26:56 -0000 Organization: Flying Frog Consultancy Ltd. Message-ID: <06b901ce25ca$cc415be0$64c413a0$@ffconsultancy.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook 14.0 Thread-Index: AQGbDIvrQFC0hqYsznfX8ZeLYj+sAAGro33jAwUx/+kB+r723QI62GKhARawPEmYxXD6sA== Content-Language: en-gb Subject: RE: [Caml-list] Re: Haskell vs OCaml Yaron wrote: > I don't think OCaml is unfriendly to commercial users I meant that few people buy or sell commercial OCaml code compared to .NET, particularly when the target market is OCaml programmers themselves. We tried with products like Smoke and Presenta but hit problems that don't exist on alternatives like .NET. Smoke was made difficult by a combinatorial explosion with brittle bindings that required us to recompile and re-release for every minor version increment of either OCaml itself or LablGL. In essence, OCaml bytecode was not designed to be redistributable. We were forced to drop Presenta when we found that around 80% of beta testers experienced segmentation faults even though it was 100% pure OCaml code. In contrast, the same code ported to F# has hundreds of commercial users and we've never had a single report of unreliability. > OCaml is highly productive, and it greatly simplifies the task of building efficient, reliable and above all correct code Although I often found that to be true there were several important kinds of applications where OCaml fell short on some of those metrics for me. One obvious one is GUI programming where I found OCaml+LablGTK to be anything but highly productive. F# is much more productive and reliable when it comes to GUIs (although performance is a problem with WPF). OCaml is very efficient for most symbolic code but there are lots of examples where there is significant room for improvement (polymorphism, recursive lambdas, that weird +. 0.0 thing, static optimization of % by a constant, unboxing types like complex numbers, hash tables, deep recursion, large arrays of reference types, CSE). Some of those will be fixed, as you say, but many of the core ones will not. Presenta is obviously a counter-example for reliability. 100% OCaml code isn't supposed to be able to segfault... Cheers, Jon. -----Original Message----- From: Yaron Minsky [mailto:yminsky@janestreet.com] Sent: 20 March 2013 21:10 To: jon@ffconsultancy.com Cc: Chet Murthy; caml-list@inria.fr Subject: Re: [Caml-list] Re: Haskell vs OCaml On Wed, Mar 20, 2013 at 4:44 PM, Jon Harrop wrote: > > FWIW, I'd say that the differences between OCaml and Haskell are of > academic interest (first-class modules vs type classes). The important > thing is the shortcomings that both OCaml and Haskell share (high > barrier to entry, poor interop, performance limitations, limited > libraries, commerce unfriendly, ageing foundations). While I agree that first-class modules vs type-classes is not the most burning issue, I broadly disagree with your dismal estimate of the state of the language. I don't think OCaml is unfriendly to commercial users. Certainly Jane Street has had a great relationship with the OCaml maintainers and the larger community. And while there are performance limitations, OCaml's overall performance is quite good and quite predictable. That performance is also rapidly improving as more and more people start working on improving the foundations. It's true that the selection of libraries is limited (less true for Haskell, FWIW). But with the recent arrival of OPAM, the ease of using OCaml has gone way up, and we're already seeing improvements to the set of available libraries. The rest of the toolchain, from performance monitoring tools to document generation to support for IDE-like features, are all actively being worked on. All told, between the work being done at INRIA, OCamlPro, OCaml Labs, and the broader community there's an amazing amount of energy being poured into the language. And one shouldn't lose sight of the most important facts about the language: OCaml is highly productive, and it greatly simplifies the task of building efficient, reliable and above all correct code. y > Cheers, > Jon. > > -----Original Message----- > From: caml-list-request@inria.fr [mailto:caml-list-request@inria.fr] > On Behalf Of Chet Murthy > Sent: 18 March 2013 18:05 > To: caml-list@inria.fr > Subject: [Caml-list] Re: Haskell vs OCaml > > > Geez, I don't want to fan the flames of any sort of war, but .... as > long as this subject came up, I'd really like to find out if anybody > has done decent-sized-system comparisons of ocaml and haskell for > performance and footprint. > > I'm a long-time Caml (and before that SML) hacker, and (hopefully) > fully appreciate the FP Nature, so it's not like I'm looking for an > argument about which language is better, etc, etc. > > And I'm not looking for microbenchmarks, either. I'm looking for > -significant- systems that have been implemented in both, and > information about footprint and performance of those systems. > > Why am I looking? Because if you're a bigot about your favorite > language, and -never- look for countervailing facts about the > competition, you might miss out. > > Heck, that's how I became an Ocaml bigot lo' these many years. > > So .... anybody got anything? > --chet-- > > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs