มีงานล่าสุดโดย Paul-AndréMellièsและNoam Zeilbergerที่สำรวจสิ่งนี้ โดยเฉพาะอย่างยิ่งเอกสารFunctors เป็นประเภทระบบการปรับแต่งและอิสเบลล์คู่ทฤษฎีบทประเภทระบบการปรับแต่ง นอกจากนี้ยังมีวิดีโอการพูดคุยในตอนแรก
ฉันคิดว่ามีความสับสนมากมายเกี่ยวกับประเภทการปรับแต่งเนื่องจากคนที่คิดว่าระบบใดระบบหนึ่งเป็นตัวแทนซึ่งทำให้เป้าหมายและรายละเอียดของระบบเหล่านั้นมาจากแนวคิดทั่วไป สั้น ๆ ของมันคือระบบการปรับแต่งประเภทประเภทคำที่มีอยู่อย่างอิสระในขณะที่ประเภท (ที่ไม่ใช่การปรับแต่ง) ขึ้นอยู่กับหรือมิฉะนั้นเป็นส่วนหนึ่งของเงื่อนไข สิ่งนี้อาจฟังดูคุ้นเคยและอาจขัดแย้งกันบ้างเล็กน้อย
ส่วนที่ดูเหมือนจะคุ้นเคยและขัดแย้งกันอาจเกิดขึ้นได้หากคุณดูประเภทà la Curry (ภายนอก) และประเภทศาสนจักร (ภายใน) เมื่อเรานึกถึงประเภทà la Curry เราคิดว่าประเภทเป็นคำที่ไม่ได้พิมพ์ซึ่งมีความหมายอยู่แล้ว ในโบสถ์àประเภทคำเดียวที่มีอยู่คือคำศัพท์ที่พิมพ์ได้ดีเช่นข้อ จำกัด ประเภทเป็นส่วนหนึ่งของไวยากรณ์ของเรา ดังนั้นสิ่งที่ฉันพูดคือระบบประเภท Curry-style เป็นระบบการปรับแต่งแบบพิมพ์ที่ปรับเงื่อนไขที่ไม่พิมพ์ออกมาในขณะที่ระบบประเภทแบบ Church ไม่ใช่ระบบการปรับแต่งแบบ ซึ่งหมายความว่าตัวอย่างเช่นเราสามารถนึกถึงแคลคูลัสแลมบ์ดาที่พิมพ์ออกมาอย่างเรียบง่ายว่าเป็นระบบการปรับแต่งแบบพิมพ์หรือเป็นระบบการพิมพ์แบบไม่ปรับ
แน่นอนไม่มีใครบอกว่าคำของเราจะต้องเป็นคำที่ไม่ได้พิมพ์ เราสามารถใช้ระบบการปรับแต่งประเภทกับคำที่พิมพ์ได้และในอดีตนี่เป็นบริบทที่ประเภทการปรับแต่ง (ตามชื่อ) นั้นเกิดขึ้น อย่างไรก็ตามแอปพลิเคชันสำหรับการพิมพ์แบบนุ่มจะแสดงบางสิ่งที่ใกล้เคียงกับสถานการณ์ที่อธิบายไว้ข้างต้น
จนถึงตอนนี้ฉันยังไม่ได้พูดอะไรเกี่ยวกับประเภทพึ่งพา เหตุผลก็คือมันเป็นความกังวลมุมฉากอย่างสมบูรณ์ ฉันจะบอกว่าระบบพิมพ์ตามแบบฉบับมักจะนำเสนอในรูปแบบของคริสตจักรและดังนั้นจึงไม่ได้เป็นระบบการปรับแต่งพิมพ์ แต่NuPRL (ขึ้นอยู่กับทฤษฎีประเภทคอมพิวเตอร์คำนวณตัวแปรของทฤษฎีประเภทขึ้นอยู่กับเทพมากที่สุดมาร์ติน-Löf) เป็นระบบการปรับแต่งประเภทโจ๋งครึ่มตามที่ฉันอธิบาย ข้อตกลงใน NuPRL อาจไม่ได้มีประเภท! ความจริงที่ว่า "PRL" หมายถึง "ตรรกะการปรับแต่งโปรแกรม" อาจเป็นเคล็ดลับเช่นกัน ในทางกลับกันประเภทการปรับแต่งสำหรับ ML จะอธิบายระบบประเภทการปรับแต่งซึ่งอาจเป็นที่มาของคำศัพท์ซึ่งไม่ใช่ระบบประเภทที่ขึ้นต่อกัน แต่อย่างใด
สำหรับ Hoare triples พวกเขาเป็นระบบการปรับแต่งประเภท พวกเขาใช้จริงเป็นตัวอย่างของระบบการปรับแต่งประเภทในกระดาษแผ่นแรก อย่างไรก็ตามทฤษฎีประเภท Hoareให้บางสิ่งบางอย่างซึ่งสามารถดูได้ว่าเป็นระบบที่ไม่ใช่การปรับแต่งสำหรับภาษาที่มีสาม Hoare
หากต้องการคำตอบเกี่ยวกับ "พลังงาน" ของระบบที่แตกต่างกันคุณจะต้องระบุระบบประเภทที่พึ่งพาได้ (ตระกูลของ) และระบบประเภทการปรับแต่งเฉพาะ (เฉพาะตระกูล) คำว่า "ระบบการพิมพ์ขึ้นอยู่กับ" ครอบคลุมประเภทของระบบการพิมพ์ที่กว้างมากและ "ระบบการปรับแต่งประเภท" นั้นกว้างยิ่งขึ้น แม้ว่าจะมีข้อกำหนดก็ตาม แต่ก็ไม่ได้เป็นการเปรียบเทียบกันระหว่าง "ระบบประเภทที่พึ่งพา" และ "ระบบประเภทการปรับแต่ง" อย่างไรก็ตามถ้าโดย "ระบบชนิดพึ่งพา" คุณกำลังคิดถึงสิ่งที่ต้องการCoqและสำหรับ "ระบบประเภทการปรับแต่ง" บางอย่างเช่นประเภทของเหลวแล้วมันก็สวยด้านเดียว โดยทั่วไปแล้ว Coq จะมองว่ามีพลังมากพอที่จะรองรับคณิตศาสตร์ในทางปฏิบัติ คุณสามารถนำไปใช้และพิสูจน์ตัวแก้ไข SMT ภายใน Coq ได้อย่างถูกต้องแล้วใช้มัน และสามารถกำหนดสูตรแอนะล็อกที่ใกล้เคียงกับเซ็ตย่อยได้ (NuPRL มีประเภทย่อยตามตัวอักษร) ในอีกด้านหนึ่งนักแก้ปัญหา SMT มักถูก จำกัด ให้ใช้ทฤษฎีที่ตัดสินใจได้ซึ่ง Coq ไม่มีข้อ จำกัด เช่นนั้น และระบบจำนวนมากเช่นประเภทเหลวมีภาษาที่ จำกัด และไม่สามารถขยายได้สำหรับการระบุภาคแสดง (แน่นอนโดย "ระบบประเภทพึ่งพา" คุณอาจหมายถึงML Dependentและโดย "ระบบการปรับแต่งประเภท" NuPRL [ซึ่งเป็นระบบประเภทที่ขึ้นต่อกันด้วย] ซึ่งจะเป็นด้านเดียวในลักษณะอื่น)