IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

CatalaLang/catala : un langage de programmation pour la spécification des lois
Catala permet d'annoter un texte législatif avec sa signification en termes de code

Le , par Anthony

27PARTAGES

7  0 
Catala est un langage spécifique à un domaine permettant de dériver des algorithmes fidèles par construction à partir de textes législatifs.


Concepts

Catala est un langage de programmation adapté à la programmation littéraire législative socio-fiscale. En annotant chaque ligne du texte législatif avec sa signification en termes de code, on peut dériver une implémentation de mécanismes socio-fiscaux complexes qui bénéficie d'un haut niveau d'assurance quant à la fidélité au code-loi.

Concrètement, il faut d'abord rassembler toutes les lois, tous les décrets, toutes les affaires antérieures, etc. qui contiennent des informations sur le mécanisme socio-fiscal que l'on veut mettre en œuvre. Ensuite, vous pouvez procéder à l'annotation du texte article par article, dans votre éditeur de texte favori :


Une fois votre code terminé et testé, vous pouvez utiliser le compilateur Catala pour produire une version PDF de votre implémentation, lisible par un avocat. Le langage Catala a été spécialement conçu en collaboration avec des professionnels du droit afin de garantir que le code puisse être examiné et certifié correct par les experts du domaine, qui sont dans ce cas des avocats et non des programmeurs.


Le langage Catala est spécial parce que sa structure logique imite la structure logique du droit. En effet, le concept central de "définition sous conditions" qui s'appuie sur la logique par défaut a été formalisé par le professeur Sarah Lawsky dans son article A Logic for Statutes. Le langage Catala est le seul langage de programmation qui intègre la logique par défaut en tant que caractéristique de première classe, ce qui explique qu'il s'agisse du seul langage parfaitement adapté à la programmation législative lettrée.

Pour commencer

Pour commencer, le meilleur endroit est le tutoriel du langage. Une version française est également disponible, mais il se peut qu'elle ne soit pas synchronisée avec les dernières fonctionnalités du langage.

Note : version de pointe
Si vous êtes intéressé par la dernière version de développement, des artefacts préconstruits comprenant les binaires et la documentation de l'API sont disponibles à l'adresse suivante : https://catalalang.github.io/catala.

Construction et installation

Catala est disponible en tant que paquet opam ! Si opam est installé sur votre machine, exécutez simplement :

Code : Sélectionner tout
opam install catala

Pour obtenir la dernière version de Catala, vous pouvez également exécuter la commande suivante

Code : Sélectionner tout
opam pin add catala --dev-repo

Cependant, si vous souhaitez obtenir les derniers développements du compilateur, vous voudrez probablement le compiler à partir des sources du dépôt ou utiliser nix. Pour cela, voir le readme dédié.

Pour en savoir plus sur le langage et ses fonctionnalités, vous pouvez consulter le tutoriel officiel de Catala.

Source : Catala

Et vous ?

Que pensez-vous du langage Catala et de ses capacités ?

Trouvez-vous ce langage de programmation utile ou pertinent ?

Voir aussi

Le langage de programmation V 0.4 beta est disponible : simple, rapide, sûr, compilé, pour développer des logiciels faciles à maintenir, d'après son créateur

Crumb : Un nouveau langage de programmation où il n'y a pas de mots-clés et où tout est une fonction

GitLab affirme que l'utilisation de l'IA pour le codage informatique est "inéluctable" et que cela va perdurer, mais l'intégration de l'IA dans le génie logiciel introduit de nouveaux risques

GitHub mécontente les développeurs en leur imposant des recommandations d'IA, ce qui modifie le flux de leur page d'accueil et les prive de leur choix

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Jules34
Membre émérite https://www.developpez.com
Le 05/10/2023 à 16:11
ça fait une semaine que c'est dans ma to do list ! je l'installerais bien sur mon petit serveur maison qui tourne sur un pi 0 avec Diet Pi (nodered/grafana/influxDb/piHole en service principaux)
0  0 
Avatar de flange
Candidat au Club https://www.developpez.com
Le 26/06/2024 à 11:47
Comment traiter les changements de valeurs à des dates précises ?

Indexations/revalorisation d'un salaire (SMIC, SSM, ...).

Changement dans les tableaux de calcul de valeurs....

Un bloc par date ou dans le bloc la gestion des dates de débuts et de dates de fin.

Il peut y avoir des recalculs de salaires, avec ancien salaire (pour la partie à rectifier) et nouveau salaire (Pour les heures du mois en cours).

Y a t il des best practice pour cela ?

Merci.

Cordialement Flange.
0  0