caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Diego Olivier Fernandez Pons" <FernandezPons@iFrance.com>
To: "Remi VANICAT" <vanicat@labri.u-bordeaux.fr>
Cc: "Caml" <caml-list@inria.fr>
Subject: Re: [Caml-list] Great Beginner
Date: Mon, 12 Nov 2001 09:13:08 +0100	[thread overview]
Message-ID: <00b001c16b58$ea131de0$9571f2c3@Utilisateur> (raw)
In-Reply-To: <877kswebn6.dlv@wanadoo.fr>

Je devrais peut-être cesser de poster sur ce forum, je vais réussir à
me faire plus d'ennemis que ne doit raisonnablement avoir un homme.

Le but de mon message n'était pas de dire que vous ne programmiez pas
fonctionnellement, mais d'illustrer un certain nombre de
particularités des langages fonctionnels (et que ne possèdent pas tous
langages impératifs), c'est en ce sens que j'ai dit que le code que
j'exhibais était plus « fonctionnel » ; raison pour laquelle j'ai
abordé tour à tour :
  - la définition des functions avec la syntaxe lambda
  - la récursivité ascendante et descendante
  - le pattern matching et utilisation du when
  - l'instruction trace
  - les produits cartésiens
  - les fonctions locales...

Le but en était purement pédagogique (puisque le message portait pour
titre « great beginner » et que c'était vraisemblablement le cas),
d'autant plus que vous aviez déjà illustré dans votre message
précédent les structures de contrôle « if then else » et les
références.

Votre code est bien évidemment parfaitement correct.

Moi j'écris plutôt :

let somme = function n ->
   let rec sommeCPS total = function
      | 0 -> total
      | k -> sommeCPS (total + k)  (k - 1)
   in
       sommeCPS 0 n
;;

C'est juste une question de style (d'ailleurs je ne respecte pas tout
à fait la norme Caml).

        Diego Olivier






-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr


  reply	other threads:[~2001-11-12 21:05 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-09 13:44 Franck
2001-11-11 11:34 ` Remi VANICAT
2001-11-10 15:29   ` Diego Olivier Fernandez Pons
2001-11-12  6:39     ` Remi VANICAT
2001-11-12  8:13       ` Diego Olivier Fernandez Pons [this message]
  -- strict thread matches above, loose matches on Subject: below --
2001-11-09 14:10 Krishnaswami, Neel
2001-11-09 11:08 Franck

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='00b001c16b58$ea131de0$9571f2c3@Utilisateur' \
    --to=fernandezpons@ifrance.com \
    --cc=caml-list@inria.fr \
    --cc=vanicat@labri.u-bordeaux.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).