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