Catala เป็นภาษาเฉพาะโดเมนสำหรับการได้มาซึ่งอัลกอริธึมที่ซื่อสัตย์โดยการก่อสร้างจากข้อความทางกฎหมาย หากต้องการเรียนรู้อย่างรวดเร็วเกี่ยวกับภาษาและฟีเจอร์ต่างๆ คุณสามารถข้ามไปที่บทช่วยสอน Catala อย่างเป็นทางการได้ คุณสามารถเข้าร่วมชุมชน Catala บน Zulip!
Catala เป็นภาษาโปรแกรมที่ดัดแปลงสำหรับการเขียนโปรแกรมความรู้ด้านกฎหมายและสังคมศาสตร์ โดยการอธิบายแต่ละบรรทัดของข้อความทางกฎหมายพร้อมความหมายในแง่ของรหัส เราสามารถรับการนำกลไกการคลังทางสังคมและการเงินที่ซับซ้อนไปใช้ ซึ่งรับประกันในระดับสูงเกี่ยวกับความซื่อสัตย์ของประมวลกฎหมาย
โดยเป็นรูปธรรม คุณต้องรวบรวมกฎหมาย คำสั่งของผู้บริหาร กรณีก่อนหน้านี้ ฯลฯ ทั้งหมดที่มีข้อมูลเกี่ยวกับกลไกการคลังทางสังคมที่คุณต้องการนำไปใช้อย่างเป็นรูปธรรม จากนั้น คุณสามารถใส่คำอธิบายประกอบข้อความทีละบทความในโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ:
เมื่อโค้ดของคุณเสร็จสมบูรณ์และทดสอบแล้ว คุณสามารถใช้คอมไพเลอร์ Catala เพื่อสร้างการดำเนินการในเวอร์ชัน PDF ที่ทนายความสามารถอ่านได้ ภาษาคาตาลาได้รับการออกแบบมาเป็นพิเศษโดยความร่วมมือกับผู้เชี่ยวชาญด้านกฎหมายเพื่อให้แน่ใจว่าโค้ดสามารถตรวจสอบและรับรองความถูกต้องโดยผู้เชี่ยวชาญในโดเมน ซึ่งในกรณีนี้คือนักกฎหมาย ไม่ใช่โปรแกรมเมอร์
ภาษาคาตาลามีความพิเศษเนื่องจากโครงสร้างเชิงตรรกะของมันเลียนแบบโครงสร้างเชิงตรรกะของกฎหมาย อันที่จริง แนวคิดหลักของ "คำจำกัดความภายใต้เงื่อนไข" ที่สร้างขึ้นบนตรรกะเริ่มต้นนั้น ได้รับการทำให้เป็นทางการโดยศาสตราจารย์ Sarah Lawsky ในบทความ A Logic for Statutes ของเธอ ภาษาคาตาลาเป็นภาษาการเขียนโปรแกรมเดียวในความรู้ของเราที่ฝังตรรกะเริ่มต้นไว้เป็นคุณลักษณะชั้นหนึ่ง ซึ่งเป็นเหตุผลว่าทำไมจึงเป็นภาษาเดียวที่ปรับให้เข้ากับการเขียนโปรแกรมด้านกฎหมายได้อย่างสมบูรณ์แบบ
ในการเริ่มต้น สถานที่ที่ดีที่สุดคือการสอนภาษา มีเวอร์ชันภาษาฝรั่งเศสให้บริการด้วย แต่อาจไม่สอดคล้องกับฟีเจอร์ภาษาล่าสุด
หมายเหตุ: เวอร์ชันตกเลือด
หากคุณสนใจเวอร์ชันการพัฒนาล่าสุด สามารถดูอาร์ติแฟกต์ที่สร้างไว้ล่วงหน้า รวมถึงไบนารีและเอกสารประกอบ API ได้ที่ https://catalalang.github.io/catala
Catala มีให้เป็นแพ็คเกจ opam! หากมีการติดตั้ง opam บนเครื่องของคุณ เพียงดำเนินการ:
opam install catala
หากต้องการรับ Catala เวอร์ชันล่าสุดที่ล้ำสมัย คุณก็สามารถทำได้เช่นกัน
opam pin add catala --dev-repo
อย่างไรก็ตาม หากคุณต้องการได้รับการพัฒนาล่าสุดของคอมไพเลอร์ คุณอาจต้องการคอมไพล์จากแหล่งที่มาของพื้นที่เก็บข้อมูลนี้ หรือใช้ nix เพื่อการนั้น โปรดดู readme เฉพาะ
หมายเหตุ: สามารถเพิ่ม --locked
flag ลงในคำสั่งด้านบนเพื่อเลียนแบบการตั้งค่า dev ที่ใช้งานได้อย่างใกล้ชิดยิ่งขึ้น ในทางกลับกัน ควรเรียก opam lock
เพื่อสร้างไฟล์ catala.opam.locked
ใหม่เมื่อมีการแก้ไขไฟล์ opam หลัก
ใช้ catala --help
หากคุณติดตั้งไว้เพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกบรรทัดคำสั่งที่มีให้ หน้าคนยังมีอยู่ทางออนไลน์ หากต้องการรับเวอร์ชันการพัฒนาของความช่วยเหลือ ให้รัน make help_catala
หลังจาก make build
ไบนารี catala
สอดคล้องกับคอมไพเลอร์ Catala
Makefile
ระดับบนสุดมีเป้าหมายที่มีประโยชน์มากมายให้เรียกใช้ หากต้องการแสดงให้ใช้
make help
แม้ว่าคอมไพเลอร์จะมีแบ็กเอนด์ในตัวสำหรับ Catala (Python, Ocaml ฯลฯ) แต่ก็สามารถเพิ่มแบ็กเอนด์แบบกำหนดเองให้กับคอมไพเลอร์ Catala ได้โดยไม่ต้องแก้ไขซอร์สโค้ด โซลูชันปลั๊กอินนี้อาศัยการเชื่อมโยงแบบไดนามิก: ดู README เฉพาะ
ใช้ clerk --help
หากคุณได้ติดตั้งไว้เพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกบรรทัดคำสั่งที่มีให้ หากต้องการรับเวอร์ชันการพัฒนาของความช่วยเหลือ ให้รัน make help_clerk
หลังจาก make build
ไบนารี clerk
สอดคล้องกับระบบการสร้าง Catala ซึ่งรับผิดชอบในการทดสอบเหนือสิ่งอื่นใด
หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับเสมียน โปรดดูที่ readme เฉพาะ
Catleg เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งที่ให้การผสานรวมที่เป็นประโยชน์กับ LégiFrance ซึ่งเป็นแหล่งเก็บข้อมูลอย่างเป็นทางการของเอกสารทางกฎหมายของฝรั่งเศส ดูพื้นที่เก็บข้อมูลที่กำหนดสำหรับข้อมูลเพิ่มเติม
การเน้นไวยากรณ์สามารถใช้งานได้กับโปรแกรมแก้ไขข้อความหลายตัว สคริปต์สามารถพบได้ที่นี่
ส่วนขยาย VSCode สำหรับ Catala มีวางจำหน่ายแล้วในตลาด มันรวมตัวเน้นไวยากรณ์และเซิร์ฟเวอร์ LSP เฉพาะซึ่งให้การสนับสนุนการนำทางโค้ด การเติมข้อความอัตโนมัติพร้อมกับ UX สำหรับชุดทดสอบ ดูพื้นที่เก็บข้อมูลเฉพาะสำหรับรายละเอียดเพิ่มเติม
เครื่องมือจัดรูปแบบโค้ด catala-format
พร้อมใช้งานควบคู่ไปกับเซิร์ฟเวอร์ LSP หากติดตั้งแล้ว การจัดรูปแบบโค้ดจะสามารถใช้งานได้โดยตรงใน VSCode เครื่องมือนี้อิงตามไวยากรณ์ tree-sitter
สำหรับ Catala ดูพื้นที่เก็บข้อมูลเฉพาะสำหรับรายละเอียดเพิ่มเติม
คุณสามารถดูการอ้างอิงไวยากรณ์ Catala ที่สมบูรณ์และมีประโยชน์ได้ในเอกสารสรุป (สำหรับไวยากรณ์เวอร์ชันภาษาฝรั่งเศสและอังกฤษ)
หากต้องการตรวจสอบหลักฐานอย่างเป็นทางการของการรับรองบางส่วนของคอมไพเลอร์ Catala โปรดดู readme เฉพาะ
เอกสารนี้สามารถเข้าถึงได้ทางออนไลน์ ทั้งเวอร์ชันล่าสุดและเวอร์ชันใหม่ล่าสุด
มิฉะนั้นจะถูกสร้างขึ้นจากซอร์สโค้ดคอมไพเลอร์โดยใช้ dune
และ odoc
วิ่ง
make doc
เพื่อสร้างเอกสาร จากนั้นเปิดไฟล์ doc/odoc.html
ในเบราว์เซอร์ใดก็ได้
หากต้องการสำรวจโปรแกรมต่างๆ ที่เขียนด้วยภาษา Catala โปรดดูที่ readme เฉพาะ
หากต้องการทราบวิธีใช้โค้ดที่สร้างโดยคอมไพเลอร์ Catala ในภาษาโปรแกรมที่คุณชื่นชอบ โปรดไปที่ readme ของห้องสมุดกฎหมายฝรั่งเศส นอกจากนี้ยังมีตัวอย่างที่สร้างไว้ล่วงหน้าที่เกี่ยวข้องด้วย
หากต้องการทราบว่าคุณสามารถมีส่วนร่วมในโครงการได้อย่างไร โปรดดู readme เฉพาะด้าน
หากต้องการทราบวิธีรันหรือปรับปรุงชุดทดสอบอ้างอิง Catala โปรดดู readme เฉพาะ
คอมไพเลอร์และโค้ดทั้งหมดที่อยู่ในพื้นที่เก็บข้อมูลนี้เผยแพร่ภายใต้ใบอนุญาต Apache (เวอร์ชัน 2) เว้นแต่จะมีการระบุใบอนุญาตอื่นสำหรับไดเรกทอรีย่อยอย่างชัดเจน
Catala เป็นโครงการวิจัยจาก Inria สถาบันวิจัยวิทยาการคอมพิวเตอร์แห่งชาติฝรั่งเศส คอมไพเลอร์ยังไม่เสถียรและขาดคุณสมบัติบางอย่าง
ภาษานี้ตั้งชื่อตาม Pierre Catala ศาสตราจารย์ด้านกฎหมายผู้บุกเบิกเทคโนโลยีด้านกฎหมายของฝรั่งเศสโดยการสร้างฐานข้อมูลคอมพิวเตอร์สำหรับคดีกฎหมาย Juris-Data กลุ่มวิจัยที่เขาเป็นผู้นำในช่วงปลายทศวรรษ 1960 ซึ่งก็คือ Centre d'études et de Traitement de l'information juridique (CETIJ) ยังได้มีอิทธิพลต่อการก่อตั้งโดย Lucien Mehl ผู้เป็นที่ปรึกษาของรัฐแห่ง Centre de recherches et développement en informatique juridique (CENIJ ) ซึ่งในที่สุดก็ได้เปลี่ยนเป็นหน่วยงานที่จัดการเว็บไซต์ LegiFrance โดยทำหน้าที่เป็นบริการสาธารณะด้านเอกสารทางกฎหมาย