मैं Types and Programming Languages के माध्यम से अपना रास्ता काम कर रहा हूं, और पिएर्स, मूल्य कमी रणनीति द्वारा कॉल के लिए, id (id (λz. id z))
शब्द का उदाहरण देता है। आंतरिक रेडएक्स पहले को घटा दिया गया है, पहले रेडएक्स को सामान्य रूप λz. id z
पर कम करने से पहले, पहली कमी के परिणामस्वरूप id (λz. id z)
दे रहा है।लैम्ब्डा कैलकुस में मूल्य से कॉल करें
लेकिन मूल्य आदेश द्वारा कॉल को 'केवल बाहरीतम रेडएक्स कम कर दिया गया है' के रूप में परिभाषित किया गया है, और 'एक रेडएक्स केवल तभी कम हो जाता है जब उसके दाएं हाथ को पहले से ही एक मूल्य में कम कर दिया गया हो'। उदाहरण में id (λz. id z)
बाहरीतम रेडएक्स के दाईं ओर दिखाई देता है, और कम हो जाता है। इस नियम के साथ कैसे वर्ग किया जाता है कि केवल बाहरी रेडएक्स कम हो जाते हैं?
क्या उत्तर 'बाहरीतम' और 'innermost' केवल lambda abstractions को संदर्भित करता है? तो t
λz. t
में t
को घटाया नहीं जा सकता है, लेकिन एक रेडएक्स s t
, t
को v
पर घटा दिया गया है, और फिर s v
कम हो गया है?
एक भी सरल उदाहरण है (λx.x) (x) क्योंकि दाहिने तरफ का मूल्यांकन नहीं किया जा सकता है, इसलिए यह मूल्य से कॉल में फंस गया है। – dominik