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
next 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