ฉันต้องการที่จะเข้าใจทฤษฎีประเภท แต่ฉันต้องรู้ก่อนว่าฉันจะสามารถนำไปใช้ได้อย่างไร อาจมีการประยุกต์ใช้ทฤษฎีชนิดไม่ชัดเจนมากขึ้นนอกเหนือจากในระบบชนิดในการเขียนโปรแกรมหรือไม่? อาจมีแอปพลิเคชั่นอื่น ๆ สมมติว่ามีการทำโปรไฟล์บุคลิกภาพและสิ่งที่ชอบ?
ฉันต้องการที่จะเข้าใจทฤษฎีประเภท แต่ฉันต้องรู้ก่อนว่าฉันจะสามารถนำไปใช้ได้อย่างไร อาจมีการประยุกต์ใช้ทฤษฎีชนิดไม่ชัดเจนมากขึ้นนอกเหนือจากในระบบชนิดในการเขียนโปรแกรมหรือไม่? อาจมีแอปพลิเคชั่นอื่น ๆ สมมติว่ามีการทำโปรไฟล์บุคลิกภาพและสิ่งที่ชอบ?
คำตอบ:
คุณอาจสนใจงานCeptreซึ่งเป็นผลงานวิจัยระดับปริญญาเอกของChris Martensซึ่งใช้ทฤษฎีประเภทเพื่อการเล่าเรื่องแบบโต้ตอบ ยกมาด้านล่างเป็นบทคัดย่อวิทยานิพนธ์ :
การเล่าเรื่องแบบอินเทอร์แอคทีฟรวบรวมความคิดการคำนวณเชิงลึกเข้ากับประวัติศาสตร์อันยาวนานของเรื่องราวและการเล่นของมนุษยชาติโดยให้บริบทที่สำคัญสำหรับเครื่องมือและภาษาที่จะสร้าง ในเวลาเดียวกันภาษาสเปคอย่างเป็นทางการนำเสนอชุดของเทคนิคการเป็นตัวแทนและการอนุมานมักจะสงวนไว้สำหรับการวิเคราะห์ภาษาการเขียนโปรแกรมและระบบการอนุมานที่ซับซ้อน วิทยานิพนธ์ฉบับนี้เชื่อมโยงปัญหาในโดเมนการเล่าเรื่องเชิงโต้ตอบกับวิธีแก้ปัญหาอย่างเป็นทางการ
โดยเฉพาะเราตรวจสอบการบรรยายจากมุมมองเชิงโครงสร้างและสังเกตว่าเส้นทางการเล่าเรื่องทางเลือกมีบทบาทเสริมในช่วงเวลาโต้ตอบที่เกิดขึ้นพร้อมกัน ตรรกะเชิงเส้นจัดเตรียมเครื่องมือที่เป็นตัวแทนที่จำเป็นในการตรวจสอบโครงสร้างนี้และโดยการขยายการติดต่อไปยังการพิสูจน์และการสร้างการพิสูจน์เราพบชุดของความเป็นไปได้ในการคำนวณ เรานำเสนอสามความพยายามในการตระหนักถึงความเป็นไปได้เหล่านั้น: (1) การใช้การเขียนโปรแกรมเชิงตรรกะเชิงเส้นเพื่อสร้างเรื่องเล่า; (2) ภาษาการเขียนโปรแกรมใหม่สำหรับการเขียนเรื่องเล่าโต้ตอบเกมและการจำลอง และ (3) เทคนิคในการระบุและพิสูจน์คุณสมบัติโปรแกรมระดับการออกแบบ
เราพบว่าการเขียนโปรแกรมลอจิกเชิงเส้นอุดมไปด้วยส่วนขยายที่น้อยที่สุดเพื่อความหมายเชิงตรรกะของมันช่วยให้การเขียนโปรแกรมสำนวนและการเข้ารหัสโดเมนที่หลากหลาย เพื่อเป็นหลักฐานเราให้กรณีศึกษาห้ากรณีรวมถึงการจำลองทางสังคมเกมผจญภัยที่ใช้การต่อสู้และเกมกระดาน เพื่อสนับสนุนการให้เหตุผลเกี่ยวกับความถูกต้องในการออกแบบเรานำเสนอเทคนิคในการระบุและพิสูจน์ค่าคงที่ของโปรแกรมรวมถึงหลักฐานการถอดรหัสเพื่อตรวจสอบค่าคงที่ของภาษาเหล่านั้นโดยอัตโนมัติ
การค้นพบเหล่านี้แสดงให้เห็นว่าตรรกะเชิงเส้นเป็นภาษาที่แสดงถึงผลสำเร็จเพื่อใช้เป็นพื้นฐานสำหรับการสร้างแบบจำลองและดำเนินการโลกที่มีการโต้ตอบและพวกเขาเชิญให้มีการสอบสวนในอนาคตเกี่ยวกับการใช้วิธีการ
มีการใช้ประโยชน์จากทฤษฎีประเภทในภาษาศาสตร์ที่น่าสนใจ ดูตัวอย่างผลงานของภาษาChung-Chieh ฉานหรือคริสเตียนRétoré
ยกมาด้านล่างเป็นคำอธิบายของหนังสือ Rétoré ในไวยากรณ์ categorial:
หนังสือเล่มนี้เป็นการแนะนำแบบร่วมสมัยและครอบคลุมเกี่ยวกับไวยากรณ์ประเภทในประเพณีเชิงตรรกะที่ริเริ่มโดยผลงานของแลมเบค มันแนะนำนักเรียนและนักวิจัยผ่านผลลัพธ์พื้นฐานในสาขาการพิสูจน์ที่ทันสมัยของทฤษฎีคลาสสิกจำนวนมากเช่นเดียวกับความก้าวหน้าล่าสุดเดิม ตัวอย่างและแบบฝึกหัดมากมายแสดงให้เห็นถึงแรงจูงใจและการใช้งานผลลัพธ์เหล่านี้จากมุมมองทางภาษาการคำนวณและตรรกะ แคลคูลัสแลมเบคและสายพันธุ์และไวยากรณ์ที่สอดคล้องกันเป็นหัวใจสำคัญของบันทึกการบรรยายเหล่านี้ บทที่ได้รับการอุทิศให้กับคุณสมบัติที่สำคัญของไวยากรณ์ categorial เหล่านี้: ส่วนติดต่อทางไวยากรณ์และความหมายที่หรูหราของพวกเขา นอกจากนี้เรายังปรับอวนเชิงตรรกะเชิงเส้นอวนให้กับแคลคูลัสเหล่านี้เนื่องจากพวกเขาให้อัลกอริทึมการแยกที่มีประสิทธิภาพเป็นสุดขั้วในตัวแยกวิเคราะห์ Grail
ข้อความต่อไปนี้อยู่ในการแนะนำบทหนังสือผลข้างเคียงของภาษาไทใหญ่ :
บทความนี้เกี่ยวข้องกับกรณีของ noncompositionality ชัดเจนในภาษาธรรมชาติกับภาษาโปรแกรม มันมีรูปร่างเหมือนนาฬิกาทราย: ฉันเริ่มต้นใน§1ด้วยวิธีการอินเทอร์เฟซไวยากรณ์ความหมายที่ช่วยให้เราสร้างทฤษฎีความหมายประกอบ วิธีการนั้นคือการเปรียบเทียบความคล้ายคลึงกันระหว่างผลข้างเคียงจากการคำนวณในภาษาโปรแกรมและสิ่งที่ฉันใช้โดยผลข้างเคียงทางภาษาเชิงเปรียบเทียบในภาษาธรรมชาติ
การเชื่อมต่อนี้จะเป็นประโยชน์ต่อนักวิทยาศาสตร์คอมพิวเตอร์และนักภาษาศาสตร์ แต่ฉันมุ่งเน้นไปที่ทิศทางหลังของการถ่ายทอดเทคโนโลยี การต่อเนื่องมีประโยชน์ในการรักษาผลข้างเคียงจากการคำนวณ ใน§2ฉันแนะนำภาษาใหม่ของโลหะเพื่อการต่อเนื่องในความหมาย
Metalanguage ที่ฉันแนะนำมีประโยชน์สำหรับการวิเคราะห์ทั้งภาษาโปรแกรมและภาษาธรรมชาติ สำหรับสัญชาตญาณฉันสำรวจการใช้งานครั้งแรกใน§3จากนั้นชี้ให้เห็นถึงคุณธรรมของการรักษานี้ใน§4
เมื่อหันไปใช้ภาษาธรรมชาติใน§5ฉันอธิบายในรายละเอียดว่ามุมมองนี้ช่วยให้ Chris Barker และฉันศึกษาความผูกพันและครอสโอเวอร์รวมถึงคำถามและความเหนือกว่าได้อย่างไร ฉันยังใช้ความต่อเนื่องในการศึกษาปริมาณและขอบเขตที่ไม่มีกำหนดโดยเฉพาะอย่างยิ่งในภาษาจีนกลาง แต่มีเพียงห้องเดียวเท่านั้นที่จะร่างการพัฒนาเพิ่มเติมเหล่านี้ใน§6
เนื่องจากการโต้ตอบของCurry-Howardประเภทสามารถตีความได้ว่าเป็นข้อเสนอและข้อเสนอเป็นประเภท
ด้วยเหตุนี้ทฤษฎีประเภทจึงสามารถใช้กับฟิลด์ใด ๆ ที่ใช้ตรรกะอย่างเป็นทางการสำหรับการพิสูจน์ได้ สิ่งนี้สามารถตรวจสอบวงจรการวิเคราะห์จริงตรรกะสัญลักษณ์เรขาคณิต ฯลฯ
ตัวอย่างเช่นเครื่องมือตรวจสอบหลักฐานอัตโนมัติบางอย่างทำงานโดยใช้หลักการนี้: พวกเขาตรวจสอบความถูกต้องของการพิสูจน์โดยการตรวจสอบชนิดของคำเฉพาะในระบบบางประเภท ตัวตรวจสอบหลักฐาน LF จะขึ้นอยู่กับวิธีการนี้เป็นHOL แสง เป็นแอปพลิเคชันตัวอย่างรหัสการพิสูจน์ที่ใช้ LF เพื่อตรวจสอบการพิสูจน์ความปลอดภัยของหน่วยความจำของรหัสที่ไม่น่าเชื่อถือ ประโยชน์ของการใช้เครื่องตรวจสอบข้อพิสูจน์ชนิดนี้คือการติดตั้งใช้งานง่ายมากและทำให้เรามั่นใจได้ว่าการติดตั้งจะถูกต้อง ดูเช่นกระดาษต่อไปนี้:
หมากฮอสหลักฐานพื้นฐานที่มีพยานขนาดเล็ก Dinghao Wu, Andrew W. Appel, Aaron Stump PPDP 2003
บทความที่น่าสนใจที่อธิบายการใช้งานประเภทต่าง ๆ คือ The Power of Piซึ่งแสดงให้เห็นว่า Agda สามารถใช้เพื่อแก้ปัญหาที่น่าสนใจได้อย่างไร
อีกตัวอย่างที่ดีคือการใช้ชนิดขึ้นกับการควบคุมทรัพยากร ตัวอย่างที่ดีคือ API ในการจัดการไฟล์ของผลกระทบของไอดริส ตัวอย่างเช่นฟังก์ชั่นสำหรับอ่านบรรทัดจากไฟล์มีประเภทต่อไปนี้
readLine : { [FILE_IO (OpenFile Read)] } Eff String
ซึ่งระบุว่าฟังก์ชั่นนี้ใช้ได้เฉพาะเมื่อมีไฟล์ที่เปิดอยู่ รายการในวงเล็บแสดงว่ามีเอฟเฟกต์ใดบ้าง ในกรณีนี้เรามีฟังก์ชั่นนี้ที่ต้องการผลของการเปิดไฟล์เพื่ออ่าน
ข้อมูลเพิ่มเติมเกี่ยวกับห้องสมุดผลสามารถพบได้ที่นี่
อีกหนึ่งแอปพลิเคชั่นคือการใช้ประเภทที่เกี่ยวข้องสำหรับการทำงานพร้อมกันตามที่รายงานในบทความต่อไปนี้โดยผู้สร้าง Idris
ดังที่ได้กล่าวไว้ในคำตอบของ jmite ทฤษฎีลำดับตรรกะ / ประเภทที่สูงขึ้นในการตรวจสอบวงจร / ฮาร์ดแวร์ / อุปกรณ์อิเล็กทรอนิกส์นั้นมีมานานหลายทศวรรษและตอนนี้ก็กลายเป็นกิจวัตรประจำวันไปแล้ว ~ 1990s แม้ว่ามันจะยังคงเป็นพื้นที่ของการวิจัย นอกจากนี้ยังมีแอพพลิเคชั่นจำนวนมากของ Coq และตรรกะประเภทโดยเฉพาะการตรวจสอบวงจร / ฮาร์ดแวร์ / อิเล็กทรอนิกส์ตลอดทางตั้งแต่ตรรกะเกตระดับต่ำไปจนถึงโครงสร้างระดับสูง / การสั่งซื้อ / ระบบย่อยที่สูงขึ้นมาก นี่คือการอ้างอิงที่สำคัญไม่กี่
ตรรกะการสั่งซื้อที่สูงขึ้นและการตรวจสอบฮาร์ดแวร์ / Melham (1993!)
ทฤษฎีการสั่งซื้อที่สูงกว่าการพิสูจน์และแอปพลิเคชัน / Claeson, Gordon
การสร้างวงจรที่ถูกต้อง: การตรวจสอบลักษณะการทำงานของข้อมูลจำเพาะฮาร์ดแวร์ที่มีประเภทขึ้นอยู่กับ / เบรดี้, Mckinna, แฮมมอนด์
การรับรองวงจรในประเภททฤษฎี / Grimal