From: Xavier Leroy <Xavier.Leroy@inria.fr>
To: Vyskocil Vladimir <vyskocil@math.unice.fr>,
Caml list <caml-list@inria.fr>
Subject: Re: Constante NIL
Date: Wed, 2 Jun 1999 21:02:10 +0200 [thread overview]
Message-ID: <19990602210210.48838@pauillac.inria.fr> (raw)
In-Reply-To: <37529AB8.B306AD5F@math.unice.fr>; from Vyskocil Vladimir on Mon, May 31, 1999 at 04:20:40PM +0200
> N'est t'il pas concevable de rajouter a Objectif Caml une constante
> NIL, UNDEF ou je sais pas trop comment la nommer dont la valeur serait
> '_a. Ceci permettrait d'initialiser "par defaut", par exemples,
> les variables d'instances d'une classe lorsque l'on ne possede aucune
> valeur par defaut du bon type. Je sais qu'il y'a toujours la possibilite
> d'utiliser le type 'a option mais ca devient lourd a gerer...
Le problème de la constante "nil" est d'assurer qu'elle n'est pas
utilisée comme une valeur "normale" du type en question. Cela
signifierait générer des tests à "nil" avant chaque accès dans une
structure de données (de la même manière que les compilateurs Java
doivent tester si les objets ne sont pas "null"). C'est coûteux en
taille de code et en temps d'exécution, et diminue la robustesse des
programmes.
L'utilisation du type 'a option est certes lourde mais a le mérite de
rendre ces tests explicites et optimisables par le programmeur.
Quant à utiliser Obj.magic, je le déconseille car le programme peut
alors très bien planter s'il utilise par erreur la valeur "nil" comme
une valeur normale. (Oui, j'ai essayé; et oui, mon code a fini par
planter à cause de cela.)
- Xavier Leroy
next prev parent reply other threads:[~1999-06-11 22:53 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-05-31 14:20 Vyskocil Vladimir
1999-06-01 16:16 ` Francois Rouaix
1999-06-02 7:27 ` Jean-Francois Monin
1999-06-02 19:02 ` Xavier Leroy [this message]
1999-06-14 20:48 ` Pierre Weis
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=19990602210210.48838@pauillac.inria.fr \
--to=xavier.leroy@inria.fr \
--cc=caml-list@inria.fr \
--cc=vyskocil@math.unice.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