1
สิ่งที่เป็นปัญหาในทางปฏิบัติกับทางแยกและสหภาพประเภทคืออะไร?
ฉันกำลังออกแบบภาษาการเขียนโปรแกรมฟังก์ชั่นแบบเรียบง่ายที่พิมพ์ได้ง่ายเป็นประสบการณ์การเรียนรู้ ดูเหมือนว่าระบบประเภทที่ฉันได้นำไปใช้จนถึงตอนนี้ (มีงานเพิ่มเติมเล็กน้อย) รวมประเภทการแยกและสหภาพเข้าด้วยกันเช่นคุณอาจมี: <Union String Integer> <Union Integer Foo> จุดตัดของทั้งสองประเภทด้านบนจะเป็นที่ราบ Integer สหภาพของทั้งสองประเภทจะเป็น <Union String Integer Foo> ความจริงที่ว่านี่เป็นไปได้แน่นอนไม่จำเป็นต้องหมายความว่ามันเป็นแนวคิดการออกแบบที่ดี โดยเฉพาะอย่างยิ่งฉันค่อนข้างกังวลเกี่ยวกับความยากลำบากในการใช้งานของการรักษาประเภทไม่ปะติดปะต่อและ / หรือการจัดการการทับซ้อน ข้อดี / ข้อเสียของการรวมคุณสมบัติดังกล่าวในระบบพิมพ์คืออะไร?