सिंटैक्स में बाध्य चर का प्रतिनिधित्व करने की समस्या, और विशेष रूप से जो कैप्चर-अवॉइड प्रतिस्थापन से संबंधित है, अच्छी तरह से ज्ञात है और इसके कई समाधान हैं: अल्फा-समतुल्यता, डी ब्रुइजन सूचकांकों के साथ नामांकित चर, स्थानीय रूप से नामहीनता, नाममात्र सेट आदि।
लेकिन एक और स्पष्ट दृष्टिकोण प्रतीत होता है, जिसे मैंने अभी तक कहीं भी इस्तेमाल नहीं किया है। अर्थात्, बुनियादी वाक्य रचना में हम केवल एक "चर" शब्द लिखा कहने , और फिर अलग से हम एक समारोह में एक बांधने की मशीन जिसका गुंजाइश यह निहित करने के लिए प्रत्येक चर नक्शे दे। तो एक λ की तरह
लिखा जाएगा , और समारोह पहला नक्शा होगा पहले λ और दूसरा ∙ दूसरे को λ । तो यह डी ब्रूजन सूचकांकों की तरह है, केवल " λ s" को गिनने के बजाय, जब आप संबंधित बाइंडर को खोजने के लिए शब्द से वापस आते हैं, तो आप केवल एक फ़ंक्शन का मूल्यांकन करते हैं। (यदि इसे कार्यान्वयन में डेटा संरचना के रूप में दर्शाया जाता है, तो मैं प्रत्येक चर-अवधि की वस्तु को एक साधारण सूचक / संबंधित बाइंडर-टर्म ऑब्जेक्ट के संदर्भ में लैस करने के बारे में सोचूंगा।)
जाहिर है कि यह पढ़ने के लिए मनुष्यों के लिए एक पृष्ठ पर वाक्यविन्यास लिखने के लिए समझदार नहीं है, लेकिन फिर न तो डे ब्रूजन सूचकांकों हैं। यह मुझे लगता है कि यह गणितीय रूप से सही समझ में आता है, और विशेष रूप से यह कैप्चरिंग से बचने के प्रतिस्थापन को बहुत आसान बना देता है: जिस शब्द को आप प्रतिस्थापित कर रहे हैं उसमें बस छोड़ दें और बाध्यकारी कार्यों का संघ लें। यह सच है कि इसमें "फ्री वैरिएबल" की धारणा नहीं है, लेकिन फिर (फिर से) न तो वास्तव में डे ब्रूजन इंडेक्स करते हैं; या तो मामले में मुक्त चर वाले शब्द को "संदर्भ" की सूची के साथ एक शब्द का प्रतिनिधित्व किया जाता है, जो सामने होता है।
क्या मुझे कुछ याद आ रहा है और कोई कारण है कि यह प्रतिनिधित्व काम नहीं करता है? क्या ऐसी समस्याएं हैं जो इसे दूसरों की तुलना में इतना बदतर बनाती हैं कि यह विचार करने लायक नहीं है? (अभी मैं केवल एक ही समस्या के बारे में सोच सकता हूं कि शर्तों का सेट (उनके बाध्यकारी कार्यों के साथ) को सक्रिय रूप से परिभाषित नहीं किया गया है, लेकिन यह असंभव नहीं लगता है।) या वास्तव में ऐसे स्थान हैं जहां इसका उपयोग किया गया है?