La voix du secrétaire (Jean)
Présents à la réunion, en fonction de l'ordre d'arrivée :
La réunion était prévue aux Caves Populaires. Comme l'adjectif le laisse supposer, il y a beaucoup de monde dans ce café. Laurent, qui était là depuis 19h15, a vu beaucoup de monde sortir, mais aussi beaucoup de monde entrer et il n'a jamais vu l'affluence baisser. Comme il y avait trop de bruit et comme je n'ai pas vu s'il y avait des tables pour manger, nous avons changé de lieu et nous sommes allés dans une pizzeria voisine, la Mafiosa.
Nous avons mangé une assiette de charcuterie, une assiette de fromage, des pizzas, des tortellinis (qui sont des raviolis de petite taille et non pas des pâtes en forme de tortillons), d'autres pâtes, des salades et des tiramisu. Nous avons bu de l'eau, du vin (rouge et rosé), de l'amaretto et du cafe.
Nous avons parlé de Perl, Internet informatique et points divers.
[ $x => $y ]->[ $x <= $y ]Quel est le but de cette formule ? Réponse : il calcule le maximum de $x et $y. Explication : l'opérateur => est la « grosse virgule » qui, dans ce cas, peut se remplacer par une virgule normale. On obtient donc :
[ $x , $y ]->[ $x <= $y ]Maintenant, la première paire de crochets [ ... ] est une référence de tableau et [ ... ]->[ ... ] accède à un élément du tableau référencé. On peut donc écrire
( $x , $y )[ $x <= $y ]Si $y est plus grand que $x, l'expression dans les crochets restants sera vraie, donc égale à 1 et l'accès au tableau renverra $y. Si c'est $x qui est le plus grand, alors l'expression est fausse, donc zéro et l'accès au tableau renverra $x. Hélas, pour trouver le minimum, il faut écrire
[ $x => $y ]->[ $x >= $y ]et l'on perd la symétrie. [ C'est faux, on peut conserver la symétrie. Il suffit d'écrire
[ $x => $y ]->[ $y <= $x ]]
[ $x => $y ]->[ $x <= $y ]ou
$x => $y ? $x : $yCharles pense que c'est la première formule, Sébastien pense que c'est la seconde. Il précise que pour avoir une réponse définitive, il faut analyser les deux formules avec B::Concise mais à vue de nez, la seconde formule a besoin de deux opcodes, un pour la comparaison et un pour l'opérateur ternaire. À l'inverse, la première en nécessite au moins cinq, pour la construction de la liste, pour la transformer en référence, etc.