From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id A8A3EBBCA for ; Mon, 12 May 2008 15:01:55 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqsDADrcJ0hDWxLCbmdsb2JhbACBU5A8Npdv X-IronPort-AV: E=Sophos;i="4.27,473,1204498800"; d="scan'208";a="10625824" Received: from ip67-91-18-194.z18-91-67.customer.algx.net (HELO server1.bertec.net) ([67.91.18.194]) by mail2-smtp-roc.national.inria.fr with ESMTP; 12 May 2008 15:01:55 +0200 Received: from kuba.bertec.net (kuba.bertec.net [192.168.2.16]) by server1.bertec.net (Postfix) with ESMTP id C8586CDFB6 for ; Mon, 12 May 2008 09:01:54 -0400 (EDT) From: Kuba Ober To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Re: Why OCaml sucks Date: Mon, 12 May 2008 09:01:53 -0400 User-Agent: KMail/1.9.9 References: <200805090139.54870.jon@ffconsultancy.com> In-Reply-To: <200805090139.54870.jon@ffconsultancy.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200805120901.54129.ober.14@osu.edu> X-Spam: no; 0.00; ocaml:01 haskell:01 haskell:01 ocaml:01 cheers:01 pet:98 caml-list:01 arithmetic:01 functional:02 theoretical:03 optimization:03 optimization:03 ugly:04 passing:05 brian:05 > 9. Deforestation: Brian says "Haskell has introduced a very interesting and > (to my knowledge) unique layer of optimization, called deforrestation". > True, of course, but useless theoretical piffle because we know that > Haskell is slow in practice and prohibitively difficult to optimize > to-boot. Deforesting is really easy to do by hand. Yet, if you look at things in the light of "optimization is depessimization", you'd much rather have easier to read code, than code which is ugly because you preoptimized it by hand. This is why, for me, Ocaml has a long way to go to make it useful for run-of-the-mill production code. My pet peev is performance penalty paid for writing in functional style where it actually makes sense -- say passing an arithmetic operator to a map-style function. Cheers, Kuba