ไซม่อนนั้นถูกต้องจากมุมมองของมิติ เรารู้ดีว่าความหมายของภาษาที่ใช้งานได้ทันสมัยนั้นเป็นอย่างไรและพวกมันต่างกันเล็กน้อยมาก ๆ - พวกเขาแต่ละคนต่างแทนการแปลที่แตกต่างกันเล็กน้อยในภาษาที่เป็นโลหะ แม้แต่ภาษาอย่าง Scheme (ภาษาที่มีการพิมพ์สูงกว่าแบบมีคำสั่งที่มีการควบคุมระดับเฟิสต์คลาส) มีความหมายซึ่งค่อนข้างใกล้เคียงกับ ML และ Haskell
V
แต่เพื่อไปยังหมวดหมู่ที่เหมาะสมสำหรับการตีความภาษาที่ใช้งานได้จริงสิ่งต่าง ๆ น่ากลัวมาก โดยพื้นฐานแล้วคุณจะสร้างหมวดหมู่ที่มีความอุดมสมบูรณ์ของ ultrametric ของความสัมพันธ์ความเท่าเทียมกันบางส่วนบนโดเมนนี้ (เป็นตัวอย่างให้ดู Birkedal, Stovring และ Thamsborg ของ "ความหมายของความแปรปรวนของตัวแปร, การอ้างอิงทั่วไปและประเภทการเรียกซ้ำ") ของ Thamsborg (ตัวอย่างเช่นดู Ahmed, Dreyer และ Rossberg ของ "ความเป็นอิสระของรัฐขึ้นอยู่กับการเป็นตัวแทน") ทั้งสองวิธีเทคนิคที่ใช้นั้นค่อนข้างใหม่
a -> b
⟨ a ⟩ → T⟨ b ⟩⟨ a ⟩ → ⟨ b ⟩T( A )⟨ a ⟩a
→
ดังนั้นเท่าที่ทฤษฎีสมการไปเนื่องจากภาษาเหล่านี้สามารถอธิบายได้ด้วยการแปลเป็นชุดย่อยที่แตกต่างกันเล็กน้อยของภาษาเดียวกันมันเป็นธรรมโดยสิ้นเชิงที่จะเรียกพวกเขาว่าการแปรผันทางวากยสัมพันธ์ของกันและกัน
ความแตกต่างในความรู้สึกระหว่าง ML และ Haskell เกิดขึ้นจริงจากคุณสมบัติเชิงมิติของสองภาษานั่นคือเวลาดำเนินการและการใช้หน่วยความจำ ML มีแบบจำลองประสิทธิภาพการประพันธ์ (เช่นค่าใช้จ่ายเวลา / พื้นที่ของโปรแกรมสามารถคำนวณได้จากค่าใช้จ่ายเวลา / พื้นที่ของ subterms) เช่นเดียวกับภาษาการโทรตามชื่อจริง Haskell ที่เกิดขึ้นจริงนั้นจะถูกนำมาใช้กับการเรียกตามความต้องการชนิดของการบันทึกความจำและด้วยเหตุนี้ประสิทธิภาพของมันจึงไม่ได้เป็นองค์ประกอบ - ระยะเวลาที่นิพจน์ที่เชื่อมโยงกับตัวแปรใช้ในการประเมิน นี่ไม่ใช่แบบจำลองในความหมายที่ฉันพูดถึงข้างต้น
หากคุณต้องการใช้คุณสมบัติเชิงมิติอย่างจริงจังยิ่งขึ้น ML และ Haskell จะเริ่มแสดงความแตกต่างที่รุนแรงยิ่งขึ้น มันยังคงอาจจะเป็นไปได้ที่จะประดิษฐ์ metalanguage เรื่องธรรมดาสำหรับพวกเขา แต่ความหมายของประเภทจะแตกต่างกันในทางที่เป็นระบบมากขึ้นมากที่เกี่ยวข้องกับความคิดที่พิสูจน์ทฤษฎีของการมุ่งเน้น หนึ่งในสถานที่ที่ดีในการเรียนรู้เกี่ยวกับเรื่องนี้คือวิทยานิพนธ์ปริญญาเอกของ Noam Zeilberger