Catala: различия между версиями

Материал из in.wiki
Перейти к навигации Перейти к поиску
 
(не показано 6 промежуточных версий этого же участника)
Строка 6: Строка 6:
 
Catala позволяет выражать общую логику случаев/исключений, характерную для нормативно-правовых документов [[Статутное право|статутного права]].  
 
Catala позволяет выражать общую логику случаев/исключений, характерную для нормативно-правовых документов [[Статутное право|статутного права]].  
  
== Пример использования ==
+
== Пример использования ==
Catala аннотирует законодательные тексты с помощью их перевода в код. Вот краткий пример из Налогового кодекса США:
+
Catala аннотирует законодательные тексты с помощью их перевода в код. Вот краткий пример реализации одного из положений [[Налоговый кодекс США|Налогового кодекса США]], взятый с сайта разработчиков:
  
 
  Section 132 - (c) Qualified employee discount defined - (1) Qualified employee discount  
 
  Section 132 - (c) Qualified employee discount defined - (1) Qualified employee discount  
 +
The term “qualified employee discount” means any employee discount with respect to qualified property or services to the extent such discount does not exceed—
 +
(A) in the case of property, the gross profit percentage of the price at which the property is being offered by the employer to customers
 +
 +
<code>
 +
 +
./section_132.catala_en
 +
 +
42 scope QualifiedEmployeeDiscount :
 +
 +
43  definition qualified_employee_discount
 +
 +
44    under condition is_property consequence
 +
 +
45  equals
 +
 +
46    if employee_discount >=
 +
 +
47      customer_price * gross_profit_percentage
  
The term “qualified employee discount” means any employee discount with respect to qualified property or services to the extent such discount does not exceed—
+
48    then customer_price * gross_profit_percentage
  
(A) in the case of property, the gross profit percentage of the price at which the property is being offered by the employer to customers
+
49    else employee_discount
 +
</code>
  
 
== Литература ==
 
== Литература ==

Текущая версия от 21:28, 26 декабря 2023

800px-T64 and pencil.jpg Это незавершённая статья.
Вы можете помочь проекту, исправив и дополнив её.

Catala — специализированный язык программирования, предназначенный для программной реализации смысла юридических текстов в коде. Он является языком литературного программирования, предназначенного для решения задач в сфере практической реализации социального и фискального законодательства. Catala разработан в INRIA, ключевые компоненты его компилятора формально верифицированы с использованием языка F*.

По замыслу разработчиков, аннотируя каждую строку законодательного текста ее значением с точки зрения законодательства, можно получить реализацию сложных социально-фискальных механизмов, которая даст высокий уровень уверенности в соблюдении законодательства при выполнении аннотированного кода языка.

Catala позволяет выражать общую логику случаев/исключений, характерную для нормативно-правовых документов статутного права.

Пример использования[править | править код]

Catala аннотирует законодательные тексты с помощью их перевода в код. Вот краткий пример реализации одного из положений Налогового кодекса США, взятый с сайта разработчиков:

Section 132 - (c) Qualified employee discount defined - (1) Qualified employee discount 
The term “qualified employee discount” means any employee discount with respect to qualified property or services to the extent such discount does not exceed—
(A) in the case of property, the gross profit percentage of the price at which the property is being offered by the employer to customers

./section_132.catala_en

42 scope QualifiedEmployeeDiscount :

43 definition qualified_employee_discount

44 under condition is_property consequence

45 equals

46 if employee_discount >=

47 customer_price * gross_profit_percentage

48 then customer_price * gross_profit_percentage

49 else employee_discount

Литература[править | править код]

Catala: a programming language for the law. Denis Merigoux,Nicolas Chataing, Jonathan Protzenko. Proceedings of the ACM on Programming Languages Volume 5 Issue ICFP Article No.: 77 pp 1–29

Ссылки[править | править код]