Catala

Материал из in.wiki
Перейти к навигации Перейти к поиску
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

Ссылки