Catala:一种面向社会财政立法知识编程的编程语言

2020-10-31 15:50:02

卡塔拉是一种适用于社会财政立法知识编程的编程语言。通过用法典方面的含义注释立法文本的每一行,人们可以推导出复杂的社会财政机制的实施,从而享有关于法典忠诚度的高水平保证。

具体地说,你必须首先收集所有的法律、行政命令、以前的案例等,这些都包含了你想要实施的社会-财政机制的信息。然后,您可以在您喜欢的文本编辑器中逐条对文本进行注释:

一旦您的代码完成并经过测试,您就可以使用Catalacompiler来生成律师可读的PDF版本的您的rimplementation。Catala语言是在与法律专业人员合作的情况下特别设计的,以确保领域专家(在这种情况下是律师,而不是程序员)审查和证明编解码器是正确的。

卡塔拉语的特殊之处在于它的逻辑结构模仿了法律的逻辑结构。事实上,建立在缺省逻辑基础上的在条件下定义的核心概念已经由法学教授莎拉·劳斯基(Sarah Lawsky)在她的文章“法规的逻辑”中正式确立。据我们所知,Catala语言是唯一一种将默认逻辑作为一流功能嵌入的编程语言,这就是为什么它是唯一完全适用于识字立法编程的语言。

在Example/Allocations_Familales文件夹中,您将找到Allocations_Familales.catala文件,该文件包含计算法国家庭福利的算法。该算法包括对定义家族利益的立法文本的注释,使用识字编程范例。Catalacompiler可以从.catala文件中提取带注释的文本的律师可读版本。

目前,这个律师可读的版本以LaTeX文档的形式出现,您需要安装标准的LaTeX发行版和latexmk构建工具,才能享受自动文档生成过程。

一旦您成功地使用专用自述文件安装了编译器,就可以从存储库根目录进行安装。然后,您可以打开examples/allocations_familiales/allocations_familiales.pdf。

卡塔拉语言应适用于遵循从一般到具体的法规命令的任何立法文本。因此,存在适应于左撇子文本的语言的Catala表层句法的多个版本。

目前,Catala通过--language=en或--language=fr选项支持英语和法语立法。如果您有兴趣添加对另一种语言的支持,请与作者联系。

Catala是法国国家计算机科学研究院Inria的一个研究项目。该编译器仍然非常不稳定,并且缺乏它的大部分功能。目前,它只对表层语言进行解析来生成律师可读的PDF,没有提供解释器或编译器后端。

然而,在不久的将来,该语言必然具有完整的形式语义。此语义将指导编译器实现。

这种语言是以皮埃尔·卡塔拉(Pierre Catala)的名字命名的,他是一位法学教授,他通过创建一个法律案例的计算机数据库Juris-Data而成为法国法律技术学院的创始人。他在20世纪60年代末领导的研究小组,即信息司法中心(CETIJ),也影响了国家顾问卢西安·梅尔创建的信息司法中心(CENIJ),该中心最终转变为管理法国军团网站的实体,充当立法文件的公共服务机构。