คำถามติดแท็ก type-theory

2
ความแตกต่างระหว่าง Agda และ Idris
ฉันเริ่มดำน้ำในการเขียนโปรแกรมที่พึ่งพาได้และพบว่าภาษา Agda และ Idris นั้นใกล้เคียงกับ Haskell มากที่สุดดังนั้นฉันจึงเริ่มต้นที่นั่น คำถามของฉันคือ: อะไรคือความแตกต่างที่สำคัญระหว่างพวกเขา ระบบประเภททั้งสองมีความเท่าเทียมกันหรือไม่? มันจะเป็นการดีถ้ามีการเปรียบเทียบที่ครอบคลุมและการอภิปรายเกี่ยวกับผลประโยชน์ ฉันได้เห็นบางอย่าง: Idris มีคลาสประเภทà la Haskell ในขณะที่ Agda มีอาร์กิวเมนต์เป็นอินสแตนซ์ ไอดริสรวมถึงสัญลักษณ์ที่เป็นเอกสิทธิ์และการประยุกต์ใช้ ทั้งคู่ดูเหมือนว่าจะมีรูปแบบของไวยากรณ์ที่สามารถ rebindable ได้ แต่ไม่แน่ใจว่าเหมือนกันหรือไม่ แก้ไข : มีคำตอบเพิ่มเติมในหน้า Reddit ของคำถามนี้: http://www.reddit.com/r/dvertise_types/comments/q8n2q/agda_vs_idris/
165 agda  type-theory  idris 

6
ฟังก์ชันไร้สาระใน Data.Void มีประโยชน์สำหรับอะไร?
absurdฟังก์ชั่นในData.Voidมีลายเซ็นต่อไปนี้ซึ่งVoidเป็นชนิดที่ไม่มีใครอยู่มีเหตุผลส่งออกโดยแพคเกจที่: -- | Since 'Void' values logically don't exist, this witnesses the logical -- reasoning tool of \"ex falso quodlibet\". absurd :: Void -> a ⊥ → aฉันจะรู้ตรรกะพอที่จะรับข้อสังเกตของเอกสารที่ตรงนี้โดยข้อเสนอตามที่ประเภทจดหมายสูตรที่ถูกต้อง สิ่งที่ฉันงงงวยและสงสัยคือ: ฟังก์ชันนี้มีประโยชน์ในการเขียนโปรแกรมประเภทใดบ้าง ฉันคิดว่ามันอาจจะมีประโยชน์ในบางกรณีเนื่องจากเป็นวิธีที่ปลอดภัยในการจัดการกับกรณีที่ "ไม่สามารถเกิดขึ้น" ได้อย่างละเอียดถี่ถ้วน แต่ฉันไม่รู้เพียงพอเกี่ยวกับการใช้ Curry-Howard ในทางปฏิบัติเพื่อบอกว่าแนวคิดนั้นอยู่บน ถูกต้องเลย แก้ไข: ตัวอย่างโดยเฉพาะอย่างยิ่งใน Haskell แต่ถ้าใครต้องการใช้ภาษาที่พิมพ์ขึ้นเองฉันจะไม่บ่น ...
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.