caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: David Monniaux <David.Monniaux@ens.fr>
To: ramu ramamurthy <ramu_ramamurthy@yahoo.com>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Large projects in OCaml
Date: Thu, 20 May 2004 08:35:42 +0200	[thread overview]
Message-ID: <1085034942.7500.28.camel@picsou> (raw)
In-Reply-To: <20040519172442.30413.qmail@web14522.mail.yahoo.com>

On Wed, 2004-05-19 at 19:24, ramu ramamurthy wrote:
> We would really appreciate feedback from folks who 
> have worked on large projects with OCaml.

It depends on what you call "large project". OCaml code tends to be
quite terse compared to C (the difference may be significantly smaller
compared to highly templated C++ using the STL). For instance, typically
a C programmer would write a loop over linked lists manually, while a
Caml programmer would simply use a List.map combinator.

Our group currently develop and maintains a 40000-line Caml program,
half-commercial (i.e. the industry funds the development but it's not
really a full-fledged commercial product): http://www.astree.ens.fr

> b) Is the native compiler/runtime/tools mature for
> large commercial projects?

My experience is that the native compiler and runtime system are
remarkably reliable. I don't think we ever had a serious compiler bug,
and for the runtime system we only had some obscure garbage collection
issue when serializing large data structures.

The quality of generated code seems quite good, it seems, and I have the
impression that it is excellent on the AMD64 architecture. Of course,
you'd often lose by a constant factor compared to optimized C code, but
you have to factor in the development hassles of C, and also the fact
that the difficulties of using advanced data structures in C often
results in C programmers using poor, but simpler ones. Where a Caml
programmer or a good C programmer would use balanced trees with log(n)
access, an average C programmer would use a linked list with n access.

> c) Is OCaml support (for bugs etc) good?

OCaml is free software developed by a half-academic institution with
limited resources. As such, you cannot expect the same kind of support
as you would expect of software packages costing several thousand
dollars. Nevertheless, my perception is that support is quite good.
There is a bug reporting system, and if you file in a precise
description of the bug, INRIA responds in a timely manner and fixes the
problems.

The exception is support for rare systems and configurations:
understandably, given its limited resources, INRIA cannot support all
architectures/C compilers/target submodels. This is not an issue if
you're working with a major kind of system (x86 / AMD64 / PowerPC under
Linux / Windows / MacOS X); my only problem in that respect was with
64-bit support on the UltraSparc (a dying architecture).

Regards,
D. Monniaux

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  parent reply	other threads:[~2004-05-20  6:35 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-19 17:24 ramu ramamurthy
2004-05-19 21:33 ` Jon Harrop
2004-05-19 23:04   ` David J. Trombley
2004-05-20 16:31   ` Eric Stokes
2004-05-20 17:37     ` Jon Harrop
2004-05-20 20:30       ` Eric Stokes
2004-05-20 21:04         ` Jon Harrop
2004-05-20 21:41           ` Eric Stokes
2004-05-21 11:28             ` Jon Harrop
2004-05-21 12:49               ` Ville-Pertti Keinonen
2004-05-21 16:27                 ` Jon Harrop
2004-05-24  3:07               ` Jacques GARRIGUE
2004-05-24  5:20                 ` skaller
2004-05-24 12:14                   ` Jacques GARRIGUE
2004-05-24 13:54                     ` skaller
2004-05-24 14:20                       ` Xavier Leroy
2004-05-24 16:48                         ` Alex Baretta
2004-05-24 17:38                           ` brogoff
2004-05-25  5:25                           ` Alan Schmitt
2004-05-24 19:24                         ` skaller
2004-05-24 19:52                           ` Brandon J. Van Every
2004-05-24 14:20                       ` Daniel Bünzli
2004-05-24 19:34                         ` skaller
2004-05-24 16:49                       ` james woodyatt
2004-05-19 21:38 ` Richard Jones
2004-05-20  8:46   ` skaller
2004-05-20 11:56     ` [Caml-list] A problem with nan sejourne kevin
2004-05-20 20:42       ` Jon Harrop
2004-05-20 22:24         ` David J. Trombley
2004-05-20 22:45         ` Damien Doligez
2004-05-20 13:10     ` [Caml-list] Large projects in OCaml Jon Harrop
2004-05-20 16:23       ` skaller
2004-05-20  6:35 ` David Monniaux [this message]
2004-05-20  7:17   ` Dustin Sallings
2004-05-25  7:26 Mattias Waldau
2004-05-25 19:07 ` Richard Jones
2004-05-25 19:54   ` Evan Martin
2004-05-26  6:57   ` skaller
2004-05-26  8:09     ` Richard Jones

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=1085034942.7500.28.camel@picsou \
    --to=david.monniaux@ens.fr \
    --cc=caml-list@inria.fr \
    --cc=ramu_ramamurthy@yahoo.com \
    /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).