caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Cedric Cellier <rixed@happyleptic.org>
To: caml-list@inria.fr
Subject: Re: [Caml-list] Include question
Date: Wed, 09 Nov 2011 08:29:58 +0100	[thread overview]
Message-ID: <1320823798.6647.2.camel@Nokia-N900> (raw)
In-Reply-To: <CAH2fdNYYG8bP72HHmR8p6K5OtC6GpX7NTVc3F+ZURtFnrmig7w@mail.gmail.com>

> And if you don't want to pollute your entire code with functor when
> it's in fact for testing and not part of the logic of the application,

Functor seams the way to go here.
The use of this technique as envisaged here is hardly invading, and comes with many advantages :

Functors help document/clarify the code by stating the relasionships between modules.

Functors help build testable programs by encouraging small and well isolated modules.

Functors help build testable programs by allowing to replace a module with the test version of the modules (the same with many more pre/post conditions added).

And they come free from runtime cost most of the time, which is amazing.

For some reasons though, despite functors being one of the greatest strength of the language, we do seam shy to use, recommand or brag about them. I wonder if this is due to the lack of proper documentation ?

  reply	other threads:[~2011-11-09  7:30 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-08 15:03 Hans Ole Rafaelsen
2011-11-08 15:10 ` Gabriel Scherer
2011-11-08 15:45   ` Hans Ole Rafaelsen
2011-11-08 15:50     ` Thomas Gazagnaire
2011-11-08 15:49   ` Alexandre Pilkiewicz
2011-11-09  7:29     ` Cedric Cellier [this message]
2011-11-09 15:41       ` Vincent Aravantinos
2011-11-09 15:50         ` Vincent Aravantinos
2011-11-09 16:29           ` rossberg
2011-11-09 17:08             ` Vincent Aravantinos
2011-11-09 23:36             ` Jacques Garrigue
2011-11-10 12:08               ` rossberg

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=1320823798.6647.2.camel@Nokia-N900 \
    --to=rixed@happyleptic.org \
    --cc=caml-list@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).