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=1.1 required=5.0 tests=AWL,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id E3D06BC69 for ; Tue, 25 Sep 2007 19:27:29 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAGzh+EZC+VyqkGdsb2JhbACOLAEBAQEHBAQREQc X-IronPort-AV: E=Sophos;i="4.20,296,1186351200"; d="scan'208";a="16766766" Received: from ug-out-1314.google.com ([66.249.92.170]) by mail4-smtp-sop.national.inria.fr with ESMTP; 25 Sep 2007 19:27:29 +0200 Received: by ug-out-1314.google.com with SMTP id m3so987697ugc for ; Tue, 25 Sep 2007 10:27:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition:x-google-sender-auth; bh=A+VxYEgHxWLBDQ0OuHugkCfGwbjGiqkWP8EIB/9o19A=; b=FYQIoJJBuiIsjqpgjKE8X6a3nvB1EOJLLpSM7fnxHMG6YUP16pG2hPHR+Wg1G7fUd4bHaQchQYYEN7IP5NuJGwwFlgvc9JAcxQWbu39/U4AgDCjyDMCXmheuaPZ/HcfjBRgw40jaiQtIEWY0mjscbzlv4A+cAxhbBDIscr7lM7k= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:sender:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition:x-google-sender-auth; b=ULSmbWRBDZ2K7uEioyOy+pBVaFIr889WQpdMFvcmh8ZzhUOvezlvo41ekpwgv6Mde3R7BTSVzNw8MGLlinpweRCNsys0hqp+y4cJy3+Miqye7ItzjIE084KGlVBp9MZydcRVztFQH1UIfiokimNqFxFp4NOGbnL1M1Eo4XKmtoA= Received: by 10.66.222.9 with SMTP id u9mr1089623ugg.1190741247464; Tue, 25 Sep 2007 10:27:27 -0700 (PDT) Received: by 10.66.237.1 with HTTP; Tue, 25 Sep 2007 10:27:27 -0700 (PDT) Message-ID: <2a1a1a0c0709251027v6dc42b38g1138b09f5627dbca@mail.gmail.com> Date: Tue, 25 Sep 2007 13:27:27 -0400 From: "Mike Lin" Sender: nilekim@gmail.com To: caml-list Subject: Re: Ocaml for Scientific computing MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Google-Sender-Auth: 7e66129cbdd838a0 X-Spam: no; 0.00; mikelin:01 ocaml:01 ocaml:01 algebra:01 lacaml:01 ocamlopt:01 pit:98 wrote:01 stack:01 rewrite:01 parsing:01 exception:01 short:01 linear:02 python:03 On Sep 25, 7:11 am, Alex Mikhalev wrote: > Dear all, > I am wondering is anyone using Ocaml for scientific computing? I didn't > mean parsing, but for number crunching applications, like signal/image > analysis. Is it suitable for this kind of tasks in general? I would like > to hear from someone practically using it, not just theoretical > possibility. I use it for a lot of genome sequence processing, comparative genomics and phylogenetic modeling. Algorithmically this involves conditional random fields (for which I have my own library) and some linear algebra and numerical optimization (for which I use Lacaml and ocamlgsl). I had a lot of frustrations at first, but it's been better since we got exception stack traces and ocaml+twt. For numerical computing, I wish ocamlopt would do at least basic loop optimizations, like hoisting invariant values -- this type of stuff is easily done manually, but often at the expense of code readability. I can see how this may be a bottomless pit for the dev team though, since I would probably always feel like we are one crucial optimization short of not having to rewrite that tight loop in C. In any case though, I work in a group where everyone else uses Python, so I'm already beating their pants off :o) Mike