Version française
Home     About     Download     Resources     Contact us    
Browse thread
OCaml syntax: vertcal bar in front of the first case of a matching definition ?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Jean-Marc EBER <Jean-Marc.Eber@s...>
Subject: OCaml syntax: vertcal bar in front of the first case of a matching definition ?
Petite question/remarque sur la syntaxe de OCaml 2.04 :

Je trouve, personnellement, déroutant le fait qu'il soit permis, mais
non obligatoire, de placer une barre verticale (|) devant le *premier*
filtrage d'une définition de fonction (resp d'un match). 
Il semble que ce soit là un reliquat du passé, et que la barre soit
devenue un *préfixe* de cas après avoir été un *séparateur* de cas.

L'obligation de placer une telle barre devant chaque cas me semble plus =
claire à la lecture et provoquerait une uniformisation des codes OCaml =
disponibles.

Intuitivement, je pense aussi qu'une telle obligation devrait simplifier=
 grandement le travail d'analyse et de formatage des modes emacs, gr=E2c=
e à un point de synchronisation supplémentaire.

Je constate que le source de OCaml est presque exclusivement en vieux mod=
e, sans barre devant le premier filtrage.

Idée : le passage de 2.04 -> 2.99 (resp 3.0) exige de toute façon une=
 transformation du source, ne serait-ce que pour ajouter certains espaces=
, nécessaires pour éviter des ambiguités avec des labels, si j'ai =
bien compris. Ne serait-ce pas le moment idéal pour rajouter cette barr=
e verticale lorsqu'elle manque et la rendre obligatoire dans OCaml 3.00 =
?


Quick English translation :
About the syntax of OCaml 2.04.

It is allowed but not mandatory to put a vertical bar (|) in front of the=
 first case of a matching definition. This freedom seems to exist for leg=
acy code support (especially OCaml source itself).

I suggest to impose a vertical bar also in front of the first case for ev=
ident clarity reasons.

This should also make easier the work of the emacs mode formatters.

If I understand well, the migration 2.04 -> 2.99 (3.00) imposes a use of =
a code reformatter, because at least some spaces have to be added, for av=
oiding some clashes with labels. Wouldn't this be the right moment for a=
dding automatically such a bar and then make it mandatory in 3.00 ?


Jean-Marc Eber

Société Générale
Infi/Dir
17, cours Valmy, F 92 987 Paris - La Défense Cedex
Tél +33 1 42 13 65 30  Fax: +33 1 42 13 60 78
EMail: jean-marc.eber@socgen.com
*************************************************************************

Ce message et toutes les pièces jointes (ci-après le "message") sont
confidentiels et établis à l'intention exclusive de ses destinataires.
Toute utilisation ou diffusion non autorisée est interdite.
Tout message électronique est susceptible d'altération.
La SOCIETE GENERALE et ses filiales déclinent toute responsabilité 
au titre de ce message s'il a été altéré, déformé ou falsifié.

				********

This message and any attachments (the "message") are confidential and
intended solely for the addressees.
Any unauthorised use or dissemination is prohibited.
E-mails are susceptible to alteration.
Neither SOCIETE GENERALE nor any of its subsidiaries or affiliates shall 
be liable for the message if altered, changed or falsified.

*************************************************************************