caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Jon Harrop <jon@ffconsultancy.com>
To: caml-list@yquem.inria.fr
Subject: Not Rocket Science
Date: Sun, 2 Mar 2008 10:41:54 +0000	[thread overview]
Message-ID: <200803021041.55208.jon@ffconsultancy.com> (raw)


I stumbled upon the following blog post by Alexander Mikhalev:

  "Why ocaml and haskell is not for scientists" -
http://alexandermikhalev.blogspot.com/2008/01/why-ocaml-and-haskell-is-not-for.html

Alex is kind enough to say that he was impressed with the demos from my 
book "OCaml for Scientists" but was disappointed to discover that they no 
longer work. Although Alex says:

  "I think this is one of the major problems with ocaml - you can find very 
interesting projects or modules, but they mostly abandon, never made it ever 
as far as beta..."

his problems are due to the exact opposite: my code has bitrotted slightly 
because the libraries it uses continue to be actively developed complete with 
breaking changes in order to improve APIs.

I shall go through all of the examples on our site and bring them up to date 
with respect to the latest libraries ASAP:

  http://www.ffconsultancy.com/products/ocaml_for_scientists/complete/?ol

However, I would like to stress that these are trivial changes. For 
example, my random matrix eigenvalue demo required only three tiny changes 
to bring it up to date with respect to the latest Lacaml library. 
Specifically, this:

  open Lacaml.S
  ...
  let m = Mat.of_array m in
  ignore (geev m);

becomes:

  let m = Lacaml.Mat4_S.of_array m in
  ignore (Lacaml.Impl.S.geev m);

The "n"th-nearest neighbour, travelling salesman and discrete wavelet 
transform examples all remain exactly the same. The only significant changes 
appear in the maximum entropy method example but Christophe Troestler has 
been kind enough to revamp the entire example as a demonstration of his newer 
and better bindings to FFTW3. You can get them with:

$ cvs -d:pserver:anonymous@ocaml-fftw.cvs.sourceforge.net:/cvsroot/ocaml-fftw 
login
$ 
cvs -z3 -d:pserver:anonymous@ocaml-fftw.cvs.sourceforge.net:/cvsroot/ocaml-fftw 
co -P fftw3

and look at "fftw3/examples/mem.ml" for the new MEM demo.

Perhaps members of the community would like to comment on some of Alex's other 
points, such as the lack of graph plotters for OCaml? IIRC, people have done 
substantial work on this in the past.

Depending how Jason Hickey's forthcoming OCaml book affects sales of "OCaml 
for Scientists", I may well write a second volume covering parallelism, GUI 
programming and graphing/charting using OCaml.

Although we are working heavily on F# now, there is no question in my mind 
that OCaml remains one of the most valuable tools for scientific computing 
under Linux.

-- 
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/products/?e


             reply	other threads:[~2008-03-02 10:43 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-02 10:41 Jon Harrop [this message]
2008-03-02 11:46 ` Re : [Caml-list] " Adrien
2008-03-02 12:54   ` documentation (Re: Re : [Caml-list] Not Rocket Science) Oliver Bandel
2008-03-03  9:03     ` Oliver Bandel
2008-03-02 14:55   ` [Caml-list] Not Rocket Science Jon Harrop
2008-03-02 13:14 ` Richard Jones
2008-03-02 23:21 ` Markus Mottl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200803021041.55208.jon@ffconsultancy.com \
    --to=jon@ffconsultancy.com \
    --cc=caml-list@yquem.inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).