[Perl] Hackathon perl pour Open Food Facts

Sébastien Feugère sebastien at feugere.net
Dim 17 Mar 18:45:56 CET 2024


> * utilisation de corinna pour remplacer les hashmap par des objets dans le code

Par curiosité, et parce que je n’ai pas trouvé de discussion sur GitHub sur ce sujet: quel est votre plan pour accomplir cela? En effet, « Corinna » est une spécification, et donc, son implémentation à ce jour, peut être réalisée de deux façons:

- 1) utilisation d’un Perl >= à 5.38, où apparaît une implémentation expérimentale et incomplète de Corinna avec les mots clé class, method, field etc. Il faut donc en amont s’assurer que openfoodfact-server est compatible avec cette version de Perl (utilise 5.32 à ce jour si mes informations sont correctes ?). 5.38 serait disponible avec Debian Trixie(testing). La dernière version stable de Debian fournit quand à elle Perl 5.36, sans la syntax class, donc. D’autres solutions telles que perlbrew sont envisageables pour choisir sa version de Perl indépendamment de Debian, mais cela ne semble pas être la méthode retenue d’après ce qui est décrit dans le Dockerfile de openfoodfact-server ?
- 2) utilisation du module Object::Pad (utilisable sur Perl >= 5.26), qui fournit l’implementation la plus aboutie de Corinna, mais qui fournit moins de garanties quant à la stabilité de son API (disons que c’est de l’expérimental++, mais qui a de fortes chances de se retrouver dans le Perl « core » quand même après discussions avec p5p et autres). Très bien pour une expérimentation rapide, sans avoir la dépendance « upgrade Debian » en épée de Damoclès.

La préparation nécessaires en amont est assez différente selon que l’on veuille « juste expérimenter » avec ces fonctionnalités ou bien que l’on pense à préparer du code pour la production et le futur, etc.

—
sf


Plus d'informations sur la liste de diffusion Perl