blob: a8924ba65dc7fc78d72f3bb11532d5ad5a2f377a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
<< L'uniformit� du style est plus importante que le style lui-m�me. >>
(Kernigan & Pike, The Practice of Programming)
Mode Emacs
==========
Tuareg, que l'on trouve ici : http://www.prism.uvsq.fr/~acohen/tuareg/
avec le r�glage suivant : (setq tuareg-in-indent 2)
Types r�cursifs et filtrages
============================
Une barre de s�paration y compris sur le premier constructeur
type t =
| A
| B of machin
match expr with
| A -> ...
| B x -> ...
Remarque : � partir de la 8.2 environ, la tendance est � utiliser le
format suivant qui permet de limiter l'escalade d'indentation tout en
produisant un aspect visuel int�ressant de bloc :
type t =
| A
| B of machin
match expr with
| A -> ...
| B x -> ...
let f expr = match expr with
| A -> ...
| B x -> ...
let f expr = function
| A -> ...
| B x -> ...
Le deuxi�me cas est obtenu sous tuareg avec les r�glages
(setq tuareg-with-indent 0)
(setq tuareg-function-indent 0)
(setq tuareg-let-always-indent nil) /// notons que cette derni�re est bien
/// pour les let mais pas pour les let-in
Conditionnelles
===============
if condition then
premier-cas
else
deuxieme-cas
Si effets de bord dans les branches, utilisez begin ... end et non des
parenth�ses i.e.
if condition then begin
instr1;
instr2
end else begin
instr3;
instr4
end
Si la premi�re branche l�ve une exception, �vitez le else i.e.
if condition then if condition then error "machin";
error "machin" -----> suite
else
suite
|