सीजीओएल

सीजीओएल (उच्चारण "गोल देखें") लिस्प (प्रोग्रामिंग भाषा) के लिए एक एक्स्टेंसिबल बीजगणितीय नोटेशन की विशेषता वाला एक वैकल्पिक वाक्यविन्यास है। इसे वॉन प्रैट द्वारा मैक्लिस्प के लिए डिज़ाइन किया गया था और बाद में सामान्य लिस्प में पोर्ट किया जाता है ।

इस प्रकार से सीजीओएल का नोटेशन, लिस्प के पारंपरिक, समान रूप से कोष्ठक में उपसर्ग संकेतन वाक्यविन्यास के अतिरिक्त, एल्गोल की शैली में पारंपरिक इन्फिक्स संकेतन होती है। और सीजीओएल पार्सर टॉप-डाउन ऑपरेटर प्राथमिकता के लिए प्रैट के डिज़ाइन पर आधारित होते है जिससे टॉप-डाउन ऑपरेटर-प्राथमिकता पार्सर पार्सर, कभी-कभी अनौपचारिक रूप से प्रैट पार्सर के रूप में जाना जाता है।

अतः शब्दार्थ की दृष्टि से, सीजीओएल अनिवार्य रूप से कुछ अतिरिक्त रीडर और प्रिंटर समर्थन के साथ केवल सामान्य लिस्प का उपयोग किया जाता है।

इस प्रकार से सीजीओएल को पहले के एलआईएसपी 2 प्रोजेक्ट के पीछे के कुछ आवश्यक विचारों का अधिक सफल अवतरण माना जा सकता है। और लिस्प 2, एलआईएसपी 1.5 का उत्तराधिकारी माना जाता था जिसका उद्देश्य एल्गोल वाक्यविन्यास प्रदान करना था। लिस्प 2 को छोड़ दिया गया, जबकि वर्तमान समय में सीजीओएल कोडबेस का उपयोग करना संभव किया जाता है। ऐसा इसलिए कहा गया है क्योंकि लिस्प 2 के विपरीत, सीजीओएल को पोर्टेबल फ़ंक्शंस और लिस्प में लिखे गए मैक्रोज़ के रूप में कार्यान्वित किया जाता है, जिसके लिए होस्ट लिस्प कार्यान्वयन में कोई परिवर्तन की आवश्यकता नहीं होती है।

वाक्यविन्यास
सामान्यतः उपयोग किए जाने वाले कई सामान्य लिस्प परिचालनों के लिए विशेष नोटेशन उपलब्ध किये गए हैं। इस प्रकार से उदाहरण के लिए, कोई मैट्रिक्स मल्टीप्ल रूटीन को निम्नलिखित रूप से लिख सकते है:

सीजीओएल में इंफिक्स किया जाता है  और ऑपरेशन (कॉमन लिस्प का चर्चा करते हुए)।   फ़ंक्शन) और इन्फ़िक्स   ऑपरेशन (कॉमन लिस्प का चर्चा करते हुए)।   फ़ंक्शंस ):

a.(b@c) = (a.b)@c

इस प्रकार से उदाहरण मूल कॉमन लिस्प में इस पाठ से मेल खाता है:

अतः सीजीओएल का उपयोग करते है  गुणों को पढ़ने और सेट करने के लिए:

अंतिम उदाहरण मूल कॉमन लिस्प में इस पाठ से मेल खाता है:

यह दर्शाता है कि सीजीओएल दो तर्कों के फ़ंक्शन को कैसे नोट करता है:

\x,y; 1/वर्ग(x**2 + y**2)

अंतिम उदाहरण मूल कॉमन लिस्प में इस पाठ से मेल खाता है:

सीजीओएल का वाक्यविन्यास डेटा-संचालित होता है और इसलिए परिवर्तनीय और विस्तार योग्य दोनों होते है।

स्थिति और स्रोत कोड
इस प्रकार से सीजीओएल को अरमेड बीअर कॉमन लिस्प पर काम करने के लिए जाना जाता है।

किन्तु सीजीओएल स्रोत कोड और इसकी चर्चाओं वाली कुछ पाठ फ़ाइलें कार्नेगी-मेलन विश्वविद्यालय के आर्टिफिशियल इंटेलिजेंस रिपोजिटरी से फ्रीवेयर के रूप में उपलब्ध की जाती हैं।