2017-05-10 8 views
6

ओकैमल में, फ़ंक्शन एप्लिकेशन का मूल्यांकन आदेश अनिर्दिष्ट (उर्फ गैर-निर्धारिती) है।एसएमएल में कार्य अनुप्रयोग मूल्यांकन आदेश निर्धारक है?

मानक एमएल में, यह भी गैर-निर्धारिती या निर्धारक है? क्या आप स्पष्टीकरण अनुभाग का संदर्भ प्रदान कर सकते हैं जो स्पष्ट करता है?


संपादित करें: आप बाद में आने वाले उन लोगों के लिए, मैं यह भी पता चला है कि एसएमएल की तरह, एफ # में आदेश निर्दिष्ट किया जाता है और नियतात्मक - OCaml, जो और भी अधिक पागल विचार कितने करीब दो वाक्य रचना में हो रहा है के विपरीत है। अगर आप उनके बीच बहुत स्विच करते हैं तो भूलना आसान है।

उत्तर

8

हां, मूल्यांकन नियम (Definition की धारा 6.7) पूरी तरह से एसएमएल की सभी संरचनाओं के लिए मूल्यांकन आदेश निर्दिष्ट करते हैं, और यह हमेशा पाठ्य क्रम में होता है। आवेदन के लिए, पहले फ़ंक्शन अभिव्यक्ति का मूल्यांकन किया जाता है और फिर तर्क (उदा। नियम 102)। इसी तरह, रिकॉर्ड (और इस प्रकार टुपल्स) का मूल्यांकन बाएं से दाएं (नियम 92/95) का मूल्यांकन किया जाता है।

साथ में, इसका तात्पर्य है कि उदा। f(a,b)(c,d) आदेश f, a, b, f(...), c, d, g(...), जहां gf(...) का परिणाम है में मूल्यांकन किया जाता है।

संबंधित मुद्दे