คุณสมบัติเช่นการใช้หน่วยความจำของฟังก์ชันสามารถแสดงเป็นภาษาที่พิมพ์ได้หรือไม่?


11

สมมติว่าเราต้องการเหตุผลเกี่ยวกับคุณสมบัติของรหัสนอกเหนือจากสิ่งต่าง ๆ เช่นจำนวนทั้งสิ้นและความบริสุทธิ์ในการใช้งาน - เรายังใส่ใจเกี่ยวกับการใช้หน่วยความจำหรือความซับซ้อนของอัลกอริทึมของฟังก์ชัน สามารถทำได้ผ่านระบบการพิมพ์และเอฟเฟกต์แบบพึ่งพาหรือไม่


2
ในวิดีโอนี้Brian McKenna แสดงตัวอย่างของการเข้ารหัสความซับซ้อนของเวลาเป็นประเภท
Anton Trunov

คำตอบ:


8

ใช่มันสามารถ แม้ว่าแนวคิดจะไม่ยาก แต่ก็ยังไม่ได้รับการศึกษามากนัก แง่มุมหนึ่งของสนามถูกความหมายเสียค่าใช้จ่ายเช่นการวิจัยที่ทำโดยกายเบลลลอค

ในหลอดเลือดดำของวิดีโอ Anton ที่กล่าวถึงคืองานของ Daniellson ในการวิเคราะห์ความซับซ้อนของเวลาแบบกึ่งเบาน้ำหนักเบาสำหรับโครงสร้างข้อมูลที่ใช้งานได้อย่างแท้จริง นี่ใช้ monad เพื่อดำเนินการต่อการดำเนินการ monad ที่คล้ายกันในระดับความหมายที่ใช้ในdenotational ความหมายค่าใช้จ่ายสำหรับการทำงานที่มีภาษาประเภทอุปนัย นี่คือ 2016 กระดาษทำบางสิ่งบางอย่างที่คล้ายกันใน Coq, Coq ห้องสมุดสำหรับการตรวจสอบภายในของวิ่งไทม์

คน NuPRL ก็ให้ความสนใจในการทำสิ่งนี้มานานแล้ว ในการแสดงความซับซ้อนของการคำนวณในทฤษฎีประเภทก่อสร้างซึ่งโดยทั่วไปจะมีจำนวนการคำนวณมากกว่าความหมายการดำเนินงานที่มีโครงสร้าง จุดที่น่าสนใจยิ่งกว่าคือคุณสามารถสะท้อนความหมายของภาษาเป็นภาษาได้ ตัวอย่างในส่วนสุดท้าย, ส่วนที่ 12, ของNaive Computational Type Theoryแสดงให้เห็นและอธิบายสิ่งเหล่านี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.