كاتالا هي لغة خاصة بالمجال لاستخلاص خوارزميات البناء من النصوص التشريعية. للتعرف بسرعة على اللغة وميزاتها، يمكنك الانتقال مباشرة إلى البرنامج التعليمي الرسمي للكاتالا. يمكنك الانضمام إلى مجتمع كاتالا على Zulip!
كاتالا هي لغة برمجة مكيفة للبرمجة التشريعية الاجتماعية والمالية. ومن خلال شرح كل سطر من النص التشريعي بمعناه من حيث القانون، يمكن للمرء أن يستنتج تنفيذ الآليات الاجتماعية والمالية المعقدة التي تتمتع بمستوى عال من الضمان فيما يتعلق بإخلاص القانون.
بشكل ملموس، عليك أولاً جمع جميع القوانين والأوامر التنفيذية والقضايا السابقة وما إلى ذلك التي تحتوي على معلومات حول الآلية الاجتماعية والمالية التي تريد تنفيذها. بعد ذلك، يمكنك المتابعة لإضافة تعليقات توضيحية للمقالة النصية بمقالة، في محرر النصوص المفضل لديك:
بمجرد اكتمال التعليمات البرمجية الخاصة بك واختبارها، يمكنك استخدام مترجم Catala لإنتاج نسخة PDF يمكن للمحامي قراءتها من التنفيذ الخاص بك. تم تصميم اللغة الكاتالاية خصيصًا بالتعاون مع متخصصين في القانون لضمان إمكانية مراجعة الكود والتحقق من صحته من قبل خبراء المجال، وهم في هذه الحالة محامون وليس مبرمجين.
تتميز اللغة الكاتالاية بتميزها لأن بنيتها المنطقية تحاكي البنية المنطقية للقانون. في الواقع، فإن المفهوم الأساسي لـ "التعريف في ظل الظروف" الذي يعتمد على المنطق الافتراضي قد تم إضفاء الطابع الرسمي عليه من قبل البروفيسور سارة لوسكي في مقالتها "منطق القوانين". اللغة الكاتالاية هي لغة البرمجة الوحيدة على حد علمنا التي تدمج المنطق الافتراضي كميزة من الدرجة الأولى، ولهذا السبب فهي اللغة الوحيدة المتكيفة تمامًا مع البرمجة التشريعية المتعلمة.
للبدء، أفضل مكان هو البرنامج التعليمي للغة. يتوفر أيضًا إصدار فرنسي ولكنه قد لا يكون متزامنًا مع أحدث ميزات اللغة.
ملاحظة: نسخة حافة النزيف
إذا كنت مهتمًا بأحدث إصدار تطوير، فيمكن العثور على العناصر المعدة مسبقًا بما في ذلك الثنائيات ووثائق واجهة برمجة التطبيقات على https://catalalang.github.io/catala
كاتالا متاحة كحزمة opam! إذا تم تثبيت opam على جهازك، فما عليك سوى تنفيذ ما يلي:
opam install catala
للحصول على أحدث إصدار من Catala، يمكنك أيضًا القيام بذلك
opam pin add catala --dev-repo
ومع ذلك، إذا كنت ترغب في الحصول على آخر التطورات للمترجم، فمن المحتمل أنك تريد تجميعه من مصادر هذا المستودع أو استخدام nix. من أجل ذلك، راجع الملف التمهيدي المخصص.
ملاحظة: يمكن إضافة العلامة --locked
إلى الأوامر المذكورة أعلاه لتقليد إعدادات تطوير العمل المعروفة بشكل أوثق. على العكس من ذلك، يجب استدعاء opam lock
لإعادة إنشاء الملف catala.opam.locked
عند إجراء تعديلات على ملف opam الرئيسي.
استخدم catala --help
إذا قمت بتثبيته للحصول على مزيد من المعلومات حول خيارات سطر الأوامر المتاحة. صفحة الرجل متاحة أيضًا على الإنترنت. للحصول على نسخة التطوير من المساعدة، قم بتشغيل make help_catala
بعد make build
. يتوافق ثنائي catala
مع مترجم كاتالا.
يحتوي Makefile
ذو المستوى الأعلى على الكثير من الأهداف المفيدة للتشغيل. لعرضها، استخدم
make help
على الرغم من أن المترجم يحتوي على بعض الواجهات الخلفية المضمنة لـ Catala (Python، وOcaml، وما إلى ذلك)، فمن الممكن أيضًا إضافة واجهة خلفية مخصصة إلى مترجم Catala دون الحاجة إلى تعديل كود المصدر الخاص به. يعتمد حل البرنامج الإضافي هذا على الارتباط الديناميكي: راجع الملف التمهيدي المخصص.
استخدم clerk --help
إذا قمت بتثبيته للحصول على مزيد من المعلومات حول خيارات سطر الأوامر المتاحة. للحصول على نسخة التطوير من المساعدة، قم بتشغيل make help_clerk
بعد make build
. يتوافق ثنائي clerk
مع نظام بناء كاتالا، وهو المسؤول عن الاختبار من بين أشياء أخرى.
للحصول على مزيد من المعلومات حول Clerk، راجع الملف التمهيدي المخصص
Catleg هي أداة مساعدة لسطر الأوامر توفر تكاملاً مفيدًا مع LégiFrance، المستودع الرسمي للوثائق القانونية الفرنسية. راجع المستودع المحدد لمزيد من المعلومات.
يتوفر تمييز بناء الجملة للعديد من محرري النصوص. يمكن العثور على البرامج النصية هنا.
يتوفر ملحق VSCode لـ Catala في السوق. فهو يشتمل على أداة تمييز بناء الجملة وخادم LSP مخصص يوفر الدعم للتنقل في التعليمات البرمجية والإكمال التلقائي بالإضافة إلى تجربة المستخدم لمجموعات الاختبار. راجع المستودع المخصص لمزيد من التفاصيل.
تتوفر أداة تنسيق التعليمات البرمجية catala-format
جنبًا إلى جنب مع خادم LSP. إذا تم تثبيته، فسيكون تنسيق التعليمات البرمجية متاحًا مباشرة في VSCode. تعتمد هذه الأداة على القواعد tree-sitter
للكاتالا. راجع المستودع المخصص لمزيد من التفاصيل.
يمكن العثور على مرجع كامل ومفيد لبناء جملة كاتالا في ورقة الغش (للنسختين الفرنسية والإنجليزية من بناء الجملة).
لتدقيق الدليل الرسمي للشهادة الجزئية لمترجم كاتالا، راجع الملف التمهيدي المخصص.
يمكن الوصول إلى الوثائق عبر الإنترنت، سواء بالنسبة للإصدار الأحدث أو الإصدار المتطور.
يتم إنشاؤه بطريقة أخرى من الكود المصدري للمترجم باستخدام dune
و odoc
. يجري
make doc
لإنشاء الوثائق، ثم افتح الملف doc/odoc.html
في أي متصفح.
لاستكشاف البرامج المختلفة المكتوبة باللغة الكاتالاية، راجع الملف التمهيدي المخصص.
لمعرفة كيفية استخدام الكود الذي أنشأه مترجم كاتالا في لغة البرمجة المفضلة لديك، توجه إلى الملف التمهيدي لمكتبة القانون الفرنسي. الأمثلة المقابلة المعدة مسبقًا متاحة أيضًا.
لمعرفة كيف يمكنك المساهمة في المشروع، راجع الملف التمهيدي المخصص.
لمعرفة كيفية تشغيل أو تحسين مجموعة اختبار كاتالا المرجعية، راجع الملف التمهيدي المخصص.
يتم إصدار المترجم وكل التعليمات البرمجية الموجودة في هذا المستودع بموجب ترخيص Apache (الإصدار 2) ما لم يتم النص على ترخيص آخر لدليل فرعي.
كاتالا هو مشروع بحثي من Inria، المعهد الوطني الفرنسي لأبحاث علوم الكمبيوتر. المترجم غير مستقر ويفتقر إلى بعض ميزاته.
تمت تسمية اللغة على اسم بيير كاتالا، أستاذ القانون الذي كان رائدًا في مجال التكنولوجيا القانونية الفرنسية من خلال إنشاء قاعدة بيانات حاسوبية للقضايا القانونية، Juris-Data. كما أثرت المجموعة البحثية التي قادها في أواخر الستينيات، مركز الدراسات وتنمية المعلومات القانونية (CETIJ)، على إنشاء مستشار الدولة لوسيان ميل لمركز البحوث والتنمية في مجال المعلوماتية القانونية (CENIJ). )، والتي تحولت في النهاية إلى الكيان الذي يدير موقع LegiFrance الإلكتروني، ويعمل كخدمة عامة للتوثيق التشريعي.