न्यूएलआईएसपी: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 2: Line 2:
|name = newLISP
|name = newLISP
|logo = Nl logo libel side color 240X100.png
|logo = Nl logo libel side color 240X100.png
|logo caption = The newLISP [[dragonfly]] logo
|logo caption = न्यूएलआईएसपी [[ड्रैगनफ्लाई]] लोगो
|screenshot = <!-- Filename only -->
|screenshot = <!-- केवल फ़ाइल नाम -->
|screenshot caption =  
|screenshot caption =  
|paradigm = Multi-paradigm
|paradigm = बहु-प्रतिमान
|family = [[Lisp (programming language)|Lisp]]
|family = [[लिस्प (प्रोग्रामिंग भाषा)|लिस्प]]
|designer = Lutz Mueller
|designer = लुत्ज़ म्यूएलर
|developer = Lutz Mueller
|developer = लुत्ज़ म्यूएलर
|released = {{Start date and age|1991}}
|released = {{Start date and age|1991}}
|latest release version = 10.7.5
|latest release version = 10.7.5
Line 18: Line 18:
|programming language =  
|programming language =  
|platform = [[IA-32]], [[x86-64]]
|platform = [[IA-32]], [[x86-64]]
|operating system = [[Cross-platform]]: [[Unix]], [[Unix-like]], [[Microsoft Windows|Windows]]
|operating system = [[क्रॉस-प्लेटफ़ॉर्म]]: [[यूनिक्स]], [[यूनिक्स जैसा]], [[माइक्रोसॉफ्ट विंडोज़|विंडोज़]]
|license = [[GNU General Public License|GPLv3+]]
|license = [[जीएनयू जनरल पब्लिक लाइसेंस|जीपीएलवी3+]]
|file ext =  
|file ext =  
|file format = <!-- or: file formats = -->
|file format = <!-- or: फ़ाइल प्रारूप = -->
|website = {{URL|www.newlisp.org}}
|website = {{URL|www.newlisp.org}}
|implementations =  
|implementations =  
|dialects =  
|dialects =  
|influenced by = [[C (programming language)|C]], [[Common Lisp]], [[Perl]], [[Scheme (programming language)|Scheme]]
|influenced by = [[सी (प्रोग्रामिंग भाषा)|सी]], [[कॉमन लिस्प]], [[पर्ल]], [[स्कीम (प्रोग्रामिंग भाषा)|स्कीम]]
|influenced =  
|influenced =  
}}
}}


न्यूएलआईएसपी स्क्रिप्टिंग भाषा है जो [[प्रोग्रामिंग भाषा]]ओं के [[लिस्प (प्रोग्रामिंग भाषा)]] परिवार की [[बोली (कंप्यूटिंग)]] है। इसे लुत्ज़ म्यूएलर द्वारा डिजाइन और विकसित किया गया था।<ref name="Interview">{{cite news |last=Walling |first=Rob |url=http://www.softwarebyrob.com/2007/04/19/interview-with-lutz-mueller-creator-of-newlisp/ |title=न्यूएलआईएसपी के निर्माता लुत्ज़ मुलर के साथ एक साक्षात्कार|work=Softwarebyrob.com |archive-url=https://web.archive.org/web/20071031095259/http://www.softwarebyrob.com/2007/04/19/interview-with-lutz-mueller-creator-of-newlisp/ |access-date=2018-11-20|archive-date=2007-10-31 }}</ref> न्यूएलआईएसपी [[जीएनयू जनरल पब्लिक लाइसेंस]], संस्करण 3 या बाद के संस्करण के तहत जारी किया गया [[मुफ़्त और ओपन-सोर्स सॉफ़्टवेयर]] है।
'''न्यूएलआईएसपी''' स्क्रिप्टिंग भाषा है जो [[प्रोग्रामिंग भाषा]]ओं के [[लिस्प (प्रोग्रामिंग भाषा)]] वर्ग की [[बोली (कंप्यूटिंग)]] है। इसे लुत्ज़ म्यूएलर द्वारा डिजाइन और विकसित किया गया था।<ref name="Interview">{{cite news |last=Walling |first=Rob |url=http://www.softwarebyrob.com/2007/04/19/interview-with-lutz-mueller-creator-of-newlisp/ |title=न्यूएलआईएसपी के निर्माता लुत्ज़ मुलर के साथ एक साक्षात्कार|work=Softwarebyrob.com |archive-url=https://web.archive.org/web/20071031095259/http://www.softwarebyrob.com/2007/04/19/interview-with-lutz-mueller-creator-of-newlisp/ |access-date=2018-11-20|archive-date=2007-10-31 }}</ref> न्यूएलआईएसपी [[जीएनयू जनरल पब्लिक लाइसेंस]], संस्करण 3 या बाद के संस्करण केअनुसार जारी किया गया [[मुफ़्त और ओपन-सोर्स सॉफ़्टवेयर]] है।


==इतिहास==
==इतिहास==
न्यूएलआईएसपी डिज़ाइन दो मुख्य लिस्प (प्रोग्रामिंग भाषा) बोलियों, [[ सामान्य लिस्प ]] और स्कीम (प्रोग्रामिंग भाषा), और [[पास्कल (प्रोग्रामिंग भाषा)]] और [[सी (प्रोग्रामिंग भाषा)]] जैसी अन्य भाषाओं से प्रभावित है।{{citation needed|date=October 2013}} न्यूएलआईएसपी की शुरुआत 1991 में हुई थी और इसे मूल रूप से सन-4 वर्कस्टेशन पर विकसित किया गया था।<ref>{{cite web |url=http://www.donlucio.net/index.cgi?page=Projects |title=newLISP – a LISP Scripting Language |last=Mueller |first=Lutz |website=don Lucio |access-date=2018-11-20}}</ref> बाद में इसे विंडोज़ 3.0 में स्थानांतरित कर दिया गया, जहां 1993 के आसपास [[कॉम्प्युसर्व]] पर संस्करण 1.3 जारी किया गया, फिर विंडोज़ [[ग्राफिकल यूज़र इंटरफ़ेस]] (जीयूआई) ग्राफिक्स-सक्षम एप्लिकेशन और डॉस [[सांत्वना आवेदन]] (दोनों [[16-बिट]]) के रूप में उपलब्ध हो गया। 1995 में, विंडोज़ 95 [[की]] रिलीज़ के साथ, न्यूएलआईएसपी [[32-बिट]] में स्थानांतरित हो गया।
न्यूएलआईएसपी डिज़ाइन दो मुख्य लिस्प (प्रोग्रामिंग भाषा) बोलियों, [[ सामान्य लिस्प ]] और स्कीम (प्रोग्रामिंग भाषा), और [[पास्कल (प्रोग्रामिंग भाषा)]] और [[सी (प्रोग्रामिंग भाषा)]] जैसी अन्य भाषाओं से प्रभावित है। न्यूएलआईएसपी की शुरुआत 1991 में हुई थी और इसे मूल रूप से सन-4 वर्कस्टेशन पर विकसित किया गया था।<ref>{{cite web |url=http://www.donlucio.net/index.cgi?page=Projects |title=newLISP – a LISP Scripting Language |last=Mueller |first=Lutz |website=don Lucio |access-date=2018-11-20}}</ref> इसके पश्चात् इसे विंडोज़ 3.0 में स्थानांतरित कर दिया गया था, जहां 1993 के आसपास [[कॉम्प्युसर्व]] पर संस्करण 1.3 जारी किया गया था, फिर विंडोज़ [[ग्राफिकल यूज़र इंटरफ़ेस]] (जीयूआई) ग्राफिक्स-सक्षम एप्लिकेशन और डॉस [[सांत्वना आवेदन]] (दोनों [[16-बिट]]) के रूप में उपलब्ध हो गया था। इस प्रकार 1995 में, विंडोज़ 95 [[की]] रिलीज़ के साथ, न्यूएलआईएसपी [[32-बिट]] में स्थानांतरित हो गया था।


अप्रैल 1999 में, न्यूएलआईएसपी को [[लिनक्स]] में पोर्ट किया गया था; इसके कुछ मुख्य एल्गोरिदम रीराइट (प्रोग्रामिंग) थे, और सभी विंडोज़-विशिष्ट कोड हटा दिए गए थे। न्यूएलआईएसपी को जीएनयू जनरल पब्लिक लाइसेंस के तहत लाइसेंस प्राप्त एक [[ खुला स्रोत सॉफ्टवेयर ]] प्रोजेक्ट के रूप में जारी किया गया था, और संस्करण 6.0.25 के बाद विंडोज़ पर विकास बंद हो गया। 2001 की पहली छमाही के दौरान, न्यूएलआईएसपी को ग्राफिक्स क्षमताओं के बिना [[cygwin]] प्लेटफॉर्म पर विंडोज़ में वापस पोर्ट किया गया था। 2001 की दूसरी छमाही में, newLISP-tk नामक क्रॉस-प्लेटफ़ॉर्म [[Tcl]]/Tk (सॉफ़्टवेयर) फ्रंटएंड संस्करण 6.3.0 के आसपास जारी किया गया था। 2006 में, पूर्णांक अंकगणित और संस्करण 9.0 में फ़ाइलों पर कुछ संचालन के लिए [[64-बिट]] परिशुद्धता पेश की गई थी।
अप्रैल 1999 में, न्यूएलआईएसपी को [[लिनक्स]] में पोर्ट किया गया था; इसके कुछ मुख्य एल्गोरिदम रीराइट (प्रोग्रामिंग) थे, और सभी विंडोज़-विशिष्ट कोड हटा दिए गए थे। न्यूएलआईएसपी को जीएनयू जनरल पब्लिक लाइसेंस के अनुसार लाइसेंस प्राप्त एक [[ खुला स्रोत सॉफ्टवेयर ]] प्रोजेक्ट के रूप में जारी किया गया था, और संस्करण 6.0.25 के बाद विंडोज़ पर विकास बंद हो गया था। 2001 की पहली छमाही के समय, न्यूएलआईएसपी को ग्राफिक्स क्षमताओं के बिना [[cygwin|सिगविन]] प्लेटफॉर्म पर विंडोज़ में वापस पोर्ट किया गया था। 2001 की दूसरी छमाही में, न्यूएलआईएसपी-टीके नामक क्रॉस-प्लेटफ़ॉर्म टीसीएल/टीके (सॉफ़्टवेयर) फ्रंटएंड संस्करण 6.3.0 के आसपास जारी किया गया था। 2006 में, पूर्णांक अंकगणित और संस्करण 9.0 में फ़ाइलों पर कुछ संचालन के लिए [[64-बिट]] परिशुद्धता प्रस्तुत की गई थी।


2002 के मध्य में 6.5 के रिलीज़ होने के बाद से, विकास बहुत सक्रिय रहा है, और कई नई सुविधाएँ जोड़ी गई हैं।<ref>{{cite web |url=https://github.com/kosh04/newlisp |title=kosh04/newlisp |last=Kobayashi |first=Shigeru |website=GitHub |access-date=2018-11-20}}</ref>
2002 के मध्य में 6.5 के रिलीज़ होने के बाद से, विकास बहुत सक्रिय रहा है, और कई नई सुविधाएँ जोड़ी गई हैं।<ref>{{cite web |url=https://github.com/kosh04/newlisp |title=kosh04/newlisp |last=Kobayashi |first=Shigeru |website=GitHub |access-date=2018-11-20}}</ref>
Line 40: Line 40:
{{Lisp}}
{{Lisp}}


==दर्शन==
==दर्शन                                                       ==
न्यूएलआईएसपी केवल [[कंप्यूटर डेटा भंडारण]] (उदाहरण के लिए, डिस्क स्पेस) और [[ स्मृति ]] जैसे मामूली सिस्टम संसाधनों का उपयोग करते हुए लिस्प भाषा का तेज़, शक्तिशाली, [[क्रॉस-प्लेटफॉर्म]], पूर्ण-विशेषताओं वाला स्क्रिप्टिंग संस्करण प्रदान करने का प्रयास करता है।<ref>{{cite web |url=http://rosettacode.org/wiki/Category:NewLISP |title=Category:newLISP |website=Rosetta Code |access-date=2018-11-20}}</ref><ref>{{cite web |url=http://www.osnews.com/story/20728/A_Look_at_newLISP |title=न्यूएलआईएसपी पर एक नजर|last=Lazar |first=Alexandru |date=5 January 2009 |work=OSNews |access-date=2018-11-20}}</ref>
न्यूएलआईएसपी केवल [[कंप्यूटर डेटा भंडारण|कंप्यूटर डेटा स्टोरेज]] (उदाहरण के लिए, डिस्क स्पेस) और [[ स्मृति | मेमोरी]] जैसे मामूली सिस्टम संसाधनों का उपयोग करते हुए लिस्प भाषा का तेज़, शक्तिशाली, [[क्रॉस-प्लेटफॉर्म]], पूर्ण-विशेषताओं वाला स्क्रिप्टिंग संस्करण प्रदान करने का प्रयास करता है।<ref>{{cite web |url=http://rosettacode.org/wiki/Category:NewLISP |title=Category:newLISP |website=Rosetta Code |access-date=2018-11-20}}</ref><ref>{{cite web |url=http://www.osnews.com/story/20728/A_Look_at_newLISP |title=न्यूएलआईएसपी पर एक नजर|last=Lazar |first=Alexandru |date=5 January 2009 |work=OSNews |access-date=2018-11-20}}</ref>
यह सूचियाँ, प्रतीक प्रसंस्करण, फ़ंक्शन मैपिंग, अनाम फ़ंक्शंस (लैम्ब्डा एक्सप्रेशन), [[ एस-अभिव्यक्ति ]] (अनुचित सूचियों को छोड़कर), और मैक्रोज़ जैसी लिस्प सुविधाएँ प्रदान करता है। यह आधुनिक स्क्रिप्टिंग भाषा से अपेक्षित कार्य भी प्रदान करता है, जिसमें [[नियमित अभिव्यक्ति]], [[XML]], यूनिकोड ([[UTF-8]]), [[ प्रसारण नियंत्रण प्रोटोकॉल ]] (TCP), [[इंटरनेट प्रोटोकॉल]] (IP), और उपयोगकर्ता [[डेटाग्राम प्रोटेकॉलका उपयोग करें]]UDP), मैट्रिक्स के माध्यम से नेटवर्किंग का समर्थन करना शामिल है। (गणित) और ऐरे डेटा संरचना प्रसंस्करण, उन्नत गणित, सांख्यिकी और [[बायेसियन अनुमान]] सांख्यिकीय विश्लेषण, [[गणितीय वित्त]] और वितरित कंप्यूटिंग।


न्यूएलआईएसपी [[ऑपरेटिंग सिस्टम]] [[ बर्कले सॉफ्टवेयर वितरण ]] (बीएसडी), लिनक्स, मैकओएस, [[सोलारिस (ऑपरेटिंग सिस्टम)]] और [[ माइक्रोसॉफ़्ट विंडोज़ ]] पर चलता है।<ref name="Home" />यह [[MYSQL]], [[SQLite]] और [[ODBC]] डेटाबेस एक्सेस, [[ कॉमन गेटवे इंटरफ़ेस ]] (CGI), [[ सरल डाक स्थानांतरण प्रोटोकॉल ]] (SMTP), [[ डाकघर प्रोटोकॉल ]] (POP) 3, [[फाइल ट्रांसफर प्रोटोकॉल]] (FTP) और XML [[ सुदूर प्रणाली संदेश ]] ([[XML-RPC]]) को सपोर्ट करता है। यह सर्वर मोड में [[डेमॉन (कंप्यूटिंग)]] के रूप में चल सकता है।
यह सूचियाँ, प्रतीक प्रसंस्करण, फ़ंक्शन मैपिंग, अनाम फ़ंक्शंस (लैम्ब्डा एक्सप्रेशन), [[ एस-अभिव्यक्ति | एस-अभिव्यक्ति]] (अनुचित सूचियों को छोड़कर), और मैक्रोज़ जैसी लिस्प सुविधाएँ प्रदान करता है। यह आधुनिक स्क्रिप्टिंग भाषा से अपेक्षित कार्य भी प्रदान करता है, जिसमें [[नियमित अभिव्यक्ति]],एक्सएमएल, यूनिकोड ([[UTF-8|यूटीएफ-8]]), [[ प्रसारण नियंत्रण प्रोटोकॉल | प्रसारण नियंत्रण प्रोटोकॉल]] (टीसीपी), [[इंटरनेट प्रोटोकॉल]] (आईपी), और उपयोगकर्ता [[डेटाग्राम प्रोटेकॉलका उपयोग करें]] यूडीपी), मैट्रिक्स के माध्यम से नेटवर्किंग का समर्थन करना सम्मिलित है। (गणित) और ऐरे डेटा संरचना प्रसंस्करण, उन्नत गणित, सांख्यिकी और [[बायेसियन अनुमान]] सांख्यिकीय विश्लेषण, [[गणितीय वित्त]] और वितरित कंप्यूटिंग का उपयोग किया जाता है।


==भाषा विशेषताएँ==
न्यूएलआईएसपी [[ऑपरेटिंग सिस्टम]] [[ बर्कले सॉफ्टवेयर वितरण | बर्कले सॉफ्टवेयर वितरण]] (बीएसडी), लिनक्स, मैकओएस, [[सोलारिस (ऑपरेटिंग सिस्टम)]] और [[ माइक्रोसॉफ़्ट विंडोज़ | माइक्रोसॉफ़्ट विंडोज़]] पर चलता है।<ref name="Home" /> यह [[MYSQL|मायएसक्यूएल]], [[SQLite|एसक्यूलाइट]] और [[ODBC|ओडीबीसी]] डेटाबेस एक्सेस, [[ कॉमन गेटवे इंटरफ़ेस | कॉमन गेटवे इंटरफ़ेस]] (सीजीआई), [[ सरल डाक स्थानांतरण प्रोटोकॉल | सरल डाक स्थानांतरण प्रोटोकॉल]] (एसएमटीपी), [[ डाकघर प्रोटोकॉल | डाकघर प्रोटोकॉल]] (पीओपी) 3, [[फाइल ट्रांसफर प्रोटोकॉल]] (एफ़टीपी) और एक्सएमएल [[ सुदूर प्रणाली संदेश | दूरस्थ सिस्टम संदेश]] ([[XML-RPC|एक्सएमएल-आरपीसी]]) को सपोर्ट करता है। यह सर्वर मोड में [[डेमॉन (कंप्यूटिंग)]] के रूप में चल सकता है।
 
==भाषा विशेषताएँ                                                                                                                                                                                     ==
===संदर्भ===
===संदर्भ===
न्यूएलआईएसपी [[नेमस्पेस (प्रोग्रामिंग)]] कहे जाने वाले संदर्भों का समर्थन करता है, जिन्हें वेरिएबल (कंप्यूटर विज्ञान) को सौंपा जा सकता है और [[सबरूटीन]] को पास किया जा सकता है, लेकिन जो विश्व स्तर पर अद्वितीय प्रतीकों से जुड़े होते हैं, प्रथम श्रेणी के नागरिकों (ऑब्जेक्ट्स) के रूप में उनके उपयोग को सीमित करते हैं। [[प्रोटोटाइप-आधारित प्रोग्रामिंग]]|प्रोटोटाइप-आधारित [[ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग ]]|ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की शैली न्यूएलआईएसपी में संभव है, ऑब्जेक्ट (कंप्यूटर विज्ञान) के निर्माण के लिए प्रोटोटाइप के रूप में संदर्भों का उपयोग किया जाता है। संदर्भों के अंदर चर अन्य संदर्भों में समान नाम के चर के साथ हस्तक्षेप नहीं करते हैं, लेकिन संदर्भ के अंदर, चर गतिशील [[स्कोप (कंप्यूटर विज्ञान)]] के नियमों के अनुसार व्यवहार करते हैं।
न्यूएलआईएसपी [[नेमस्पेस (प्रोग्रामिंग)]] कहे जाने वाले संदर्भों का समर्थन करता है, जिन्हें वेरिएबल (कंप्यूटर विज्ञान) को दिया जा सकता है और [[सबरूटीन]] को पास किया जा सकता है, किन्तु जो विश्व स्तर पर अद्वितीय प्रतीकों से जुड़े होते हैं, प्रथम श्रेणी के नागरिकों (ऑब्जेक्ट्स) के रूप में उनके उपयोग को सीमित करते हैं। [[प्रोटोटाइप-आधारित प्रोग्रामिंग]]|प्रोटोटाइप-आधारित [[ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग ]]की शैली न्यूएलआईएसपी में संभव है, ऑब्जेक्ट (कंप्यूटर विज्ञान) के निर्माण के लिए प्रोटोटाइप के रूप में संदर्भों का उपयोग किया जाता है। संदर्भों के अंदर चर अन्य संदर्भों में समान नाम के चर के साथ हस्तक्षेप नहीं करते हैं, किन्तु संदर्भ के अंदर, चर गतिशील [[स्कोप (कंप्यूटर विज्ञान)]] के नियमों के अनुसार व्यवहार करते हैं।


===स्कोपिंग===
===स्कोपिंग===
न्यूएलआईएसपी डायनेमिक स्कोप (कंप्यूटर साइंस) का उपयोग करता है। जब किसी फ़ंक्शन को कॉल किया जाता है, तो वह फ़ंक्शन अपने कॉलर, उसके कॉलर के कॉलर इत्यादि के सभी वेरिएबल्स को ही संदर्भ या [[ नाम स्थान ]] के भीतर देख सकता है। यह स्पष्ट रूप से और अंतर्निहित रूप से परिभाषित स्थानीय गतिशील चर दोनों का समर्थन करता है जो बाहरी वातावरण से समान नाम वाले चर को छाया देता है, इस प्रकार कॉलर वातावरण से चर के आकस्मिक उपयोग या परिवर्तन को रोकता है। कॉल किए गए फ़ंक्शन के पैरामीटर वैरिएबल स्वचालित रूप से कॉल करने वाले के वैरिएबल वातावरण को छाया देते हैं। वैश्विक स्तर पर, वेरिएबल्स को अलग-अलग नामस्थानों में समूहीकृत किया जा सकता है।
न्यूएलआईएसपी डायनेमिक स्कोप (कंप्यूटर साइंस) का उपयोग करता है। जब किसी फ़ंक्शन को कॉल किया जाता है, जिससे वह फ़ंक्शन अपने कॉलर, उसके कॉलर के कॉलर इत्यादि के सभी वेरिएबल्स को ही संदर्भ या [[ नाम स्थान ]] के अन्दर देख सकता है। यह स्पष्ट रूप से और अंतर्निहित रूप से परिभाषित स्थानीय गतिशील चर दोनों का समर्थन करता है जो बाहरी वातावरण से समान नाम वाले चर को छाया देता है, इस प्रकार कॉलर वातावरण से चर के आकस्मिक उपयोग या परिवर्तन को रोकता है। कॉल किए गए फ़ंक्शन के मापदंड वैरिएबल स्वचालित रूप से कॉल करने वाले के वैरिएबल वातावरण को छाया देते हैं। वैश्विक स्तर पर, वेरिएबल्स को अलग-अलग नामस्थानों में समूहीकृत किया जा सकता है।


===[[स्मृति प्रबंधन]]===
===[[स्मृति प्रबंधन|मेमोरी प्रबंधन]]===
न्यूएलआईएसपी पारंपरिक कचरा संग्रह (कंप्यूटर विज्ञान) योजनाओं से अलग स्वचालित मेमोरी प्रबंधन की विधि का उपयोग करता है, जिसे केवल संदर्भ (ओआरओ) मेमोरी प्रबंधन कहा जाता है। प्रत्येक चर को केवल उसके संदर्भ द्वारा संदर्भित किया जाता है, और प्रत्येक संदर्भ को विश्व स्तर पर संदर्भित किया जाता है।
न्यूएलआईएसपी पारंपरिक कचरा संग्रह (कंप्यूटर विज्ञान) योजनाओं से अलग स्वचालित मेमोरी प्रबंधन की विधि का उपयोग करता है, जिसे केवल संदर्भ (ओआरओ) मेमोरी प्रबंधन कहा जाता है। प्रत्येक चर को केवल उसके संदर्भ द्वारा संदर्भित किया जाता है, और प्रत्येक संदर्भ को विश्व स्तर पर संदर्भित किया जाता है।


ऑब्जेक्ट (कंप्यूटर विज्ञान), चक्रीय संरचनाओं, या ही ऑब्जेक्ट की ओर इशारा करने वाले कई चर के बीच उप-वस्तुओं को साझा करना न्यूएलआईएसपी में समर्थित नहीं है। कुछ अंतर्निहित कार्यों को छोड़कर, डेटा संरचनाओं में संग्रहीत होने या फ़ंक्शंस में पास होने पर ऑब्जेक्ट की प्रतिलिपि बनाई जाती है। अपवाद प्रतीक और संदर्भ हैं, जिन्हें कॉपी करने के बजाय साझा किया जाता है, और इस प्रकार अप्रत्यक्ष रूप से उपयोग किया जा सकता है। प्रतीकों और संदर्भों को विश्व स्तर पर नाम दिया गया है और स्पष्ट रूप से हटा दिया गया है; किसी प्रतीक या संदर्भ को हटाने से उसके संदर्भों को प्रतिस्थापित करने के लिए अन्य सभी ऑब्जेक्ट स्कैन हो जाते हैं <code>nil</code>.
ऑब्जेक्ट (कंप्यूटर विज्ञान), चक्रीय संरचनाओं, या ही ऑब्जेक्ट की ओर इशारा करने वाले कई चर के बीच उप-वस्तुओं को साझा करना न्यूएलआईएसपी में समर्थित नहीं है। कुछ अंतर्निहित कार्यों को छोड़कर, डेटा संरचनाओं में संग्रहीत होने या फ़ंक्शंस में पास होने पर ऑब्जेक्ट की प्रतिलिपि बनाई जाती है। अपवाद प्रतीक और संदर्भ हैं, जिन्हें कॉपी करने के अतिरिक्त साझा किया जाता है, और इस प्रकार अप्रत्यक्ष रूप से उपयोग किया जा सकता है। प्रतीकों और संदर्भों को विश्व स्तर पर नाम दिया गया है और स्पष्ट रूप से हटा दिया गया है; किसी प्रतीक या संदर्भ को हटाने से उसके संदर्भों को <code>nil</code>  से प्रतिस्थापित करने के लिए अन्य सभी ऑब्जेक्ट स्कैन हो जाते हैं .


===जीयूआई विकल्प===
===जीयूआई विकल्प===
न्यूएलआईएसपी ग्राफिकल यूजर इंटरफेस (जीयूआई) सर्वर (न्यूएलआईएसपी-जीएस) [[जावा (प्रोग्रामिंग भाषा)]]-आधारित [[ इंटरनेट प्रोटोकॉल सुइट ]] (टीसीपी/आईपी) सर्वर है जो ग्राफिकल प्रोग्रामिंग इंटरफेस प्रदान करता है। न्यूएलआईएसपी बाइनरी वितरण में नयाएलआईएसपी-जीएस आधारित विकास वातावरण शामिल है, और [[जीटीके-सर्वर]], [[ओपन]]जीएल, और टीसीएल/टीके (सॉफ्टवेयर)-आधारित प्रोग्रामिंग इंटरफेस उपलब्ध हैं।
न्यूएलआईएसपी ग्राफिकल यूजर इंटरफेस (जीयूआई) सर्वर (न्यूएलआईएसपी-जीएस) [[जावा (प्रोग्रामिंग भाषा)]]-आधारित [[ इंटरनेट प्रोटोकॉल सुइट ]] (टीसीपी/आईपी) सर्वर है जो ग्राफिकल प्रोग्रामिंग इंटरफेस प्रदान करता है। न्यूएलआईएसपी बाइनरी वितरण में नयाएलआईएसपी-जीएस आधारित विकास वातावरण सम्मिलित है, और [[जीटीके-सर्वर]], [[ओपन]]जीएल, और टीसीएल/टीके (सॉफ्टवेयर)-आधारित प्रोग्रामिंग इंटरफेस उपलब्ध हैं।


===स्टैंडअलोन बायनेरिज़===
===स्टैंडअलोन बायनेरिज़===
कोई भी नया LISP संस्करण तैनाती के लिए निष्पादन योग्य फ़ाइलें, [[पोर्टेबल अनुप्रयोग]] बनाने की अनुमति देता है, जो स्व-निहित हैं और उन्हें इंस्टॉल करने की आवश्यकता नहीं है।
कोई भी नया लिस्प संस्करण तैनाती के लिए निष्पादन योग्य फ़ाइलें, [[पोर्टेबल अनुप्रयोग]] बनाने की अनुमति देता है, जो स्व-निहित हैं और उन्हें इंस्टॉल करने की आवश्यकता नहीं है।


===[[साझा पुस्तकालय]]ों के साथ सहभागिता===
===[[साझा पुस्तकालय|साझा लाइब्रेरी]] के साथ सहभागिता===
न्यूएलआईएसपी में आयात फ़ंक्शन है, जो [[ विंडोज़ एपीआई ]] Win32 पर [[डायनामिक-लिंक लाइब्रेरी]] (डीएलएल) से या लिनक्स या [[यूनिक्स]] पर साझा लाइब्रेरी से फ़ंक्शन आयात करने की अनुमति देता है।
न्यूएलआईएसपी में आयात फ़ंक्शन है, जो [[ विंडोज़ एपीआई ]] विन32 पर [[डायनामिक-लिंक लाइब्रेरी]] (डीएलएल) से या लिनक्स या [[यूनिक्स]] पर साझा लाइब्रेरी से फ़ंक्शन आयात करने की अनुमति देता है।


==ढांचे==
==फ़्रेमवर्क                                                                                                                                                                                                                          ==
न्यूएलआईएसपी के लिए उपलब्ध [[ वेब ढाँचा ]] में ड्रैगनफ्लाई शामिल है<ref>{{cite web |url=http://dragonfly.apptruck.de/ |title=ड्रैगनफ्लाई वेब ढांचा|last1=Slepak |first1=Greg |last2=Hildmann |first2=Marc |website=AppTruck |access-date=2018-11-20}}</ref> और रॉकेट.<ref>{{cite web |url=http://newlisponrockets.com/ |title=The newLISP on Rockets 2.0 Blog |last=Reimer |first=Jeremy |website=Rocket Man |access-date=2018-11-20}}</ref>
न्यूएलआईएसपी के लिए उपलब्ध [[ वेब ढाँचा | वेब फ्रेमवर्क]] में ड्रैगनफ्लाई <ref>{{cite web |url=http://dragonfly.apptruck.de/ |title=ड्रैगनफ्लाई वेब ढांचा|last1=Slepak |first1=Greg |last2=Hildmann |first2=Marc |website=AppTruck |access-date=2018-11-20}}</ref> और रॉकेट्स सम्मिलित हैं।<ref>{{cite web |url=http://newlisponrockets.com/ |title=The newLISP on Rockets 2.0 Blog |last=Reimer |first=Jeremy |website=Rocket Man |access-date=2018-11-20}}</ref>




==संदर्भ==
==संदर्भ                                                                                                                                                                                                                           ==
{{Reflist}}
{{Reflist}}



Revision as of 17:01, 1 July 2023

newLISP
File:Nl logo libel side color 240X100.png
न्यूएलआईएसपी ड्रैगनफ्लाई लोगो
Paradigmबहु-प्रतिमान
परिवारलिस्प
द्वारा डिज़ाइन किया गयालुत्ज़ म्यूएलर
Developerलुत्ज़ म्यूएलर
पहली प्रस्तुति1991; 33 years ago (1991)
Stable release
10.7.5 / May 12, 2019; 5 years ago (2019-05-12)[1]
Preview release
10.7.4 / September 10, 2018; 6 years ago (2018-09-10)[1]
स्कोपDynamic
प्लेटफॉर्मIA-32, x86-64
ओएसक्रॉस-प्लेटफ़ॉर्म: यूनिक्स, यूनिक्स जैसा, विंडोज़
लाइसेंसजीपीएलवी3+
वेबसाइटwww.newlisp.org
Influenced by
सी, कॉमन लिस्प, पर्ल, स्कीम

न्यूएलआईएसपी स्क्रिप्टिंग भाषा है जो प्रोग्रामिंग भाषाओं के लिस्प (प्रोग्रामिंग भाषा) वर्ग की बोली (कंप्यूटिंग) है। इसे लुत्ज़ म्यूएलर द्वारा डिजाइन और विकसित किया गया था।[2] न्यूएलआईएसपी जीएनयू जनरल पब्लिक लाइसेंस, संस्करण 3 या बाद के संस्करण केअनुसार जारी किया गया मुफ़्त और ओपन-सोर्स सॉफ़्टवेयर है।

इतिहास

न्यूएलआईएसपी डिज़ाइन दो मुख्य लिस्प (प्रोग्रामिंग भाषा) बोलियों, सामान्य लिस्प और स्कीम (प्रोग्रामिंग भाषा), और पास्कल (प्रोग्रामिंग भाषा) और सी (प्रोग्रामिंग भाषा) जैसी अन्य भाषाओं से प्रभावित है। न्यूएलआईएसपी की शुरुआत 1991 में हुई थी और इसे मूल रूप से सन-4 वर्कस्टेशन पर विकसित किया गया था।[3] इसके पश्चात् इसे विंडोज़ 3.0 में स्थानांतरित कर दिया गया था, जहां 1993 के आसपास कॉम्प्युसर्व पर संस्करण 1.3 जारी किया गया था, फिर विंडोज़ ग्राफिकल यूज़र इंटरफ़ेस (जीयूआई) ग्राफिक्स-सक्षम एप्लिकेशन और डॉस सांत्वना आवेदन (दोनों 16-बिट) के रूप में उपलब्ध हो गया था। इस प्रकार 1995 में, विंडोज़ 95 की रिलीज़ के साथ, न्यूएलआईएसपी 32-बिट में स्थानांतरित हो गया था।

अप्रैल 1999 में, न्यूएलआईएसपी को लिनक्स में पोर्ट किया गया था; इसके कुछ मुख्य एल्गोरिदम रीराइट (प्रोग्रामिंग) थे, और सभी विंडोज़-विशिष्ट कोड हटा दिए गए थे। न्यूएलआईएसपी को जीएनयू जनरल पब्लिक लाइसेंस के अनुसार लाइसेंस प्राप्त एक खुला स्रोत सॉफ्टवेयर प्रोजेक्ट के रूप में जारी किया गया था, और संस्करण 6.0.25 के बाद विंडोज़ पर विकास बंद हो गया था। 2001 की पहली छमाही के समय, न्यूएलआईएसपी को ग्राफिक्स क्षमताओं के बिना सिगविन प्लेटफॉर्म पर विंडोज़ में वापस पोर्ट किया गया था। 2001 की दूसरी छमाही में, न्यूएलआईएसपी-टीके नामक क्रॉस-प्लेटफ़ॉर्म टीसीएल/टीके (सॉफ़्टवेयर) फ्रंटएंड संस्करण 6.3.0 के आसपास जारी किया गया था। 2006 में, पूर्णांक अंकगणित और संस्करण 9.0 में फ़ाइलों पर कुछ संचालन के लिए 64-बिट परिशुद्धता प्रस्तुत की गई थी।

2002 के मध्य में 6.5 के रिलीज़ होने के बाद से, विकास बहुत सक्रिय रहा है, और कई नई सुविधाएँ जोड़ी गई हैं।[4]

1955 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 2020
 LISP 1, 1.5, LISP 2(abandoned)
 Maclisp
 Interlisp
 MDL
 Lisp Machine Lisp
 Scheme  R5RS  R6RS  R7RS small
 NIL
 ZIL (Zork Implementation Language)
 Franz Lisp
 Common Lisp  ANSI standard
 Le Lisp
 MIT Scheme
 T
 Chez Scheme
 Emacs Lisp
 AutoLISP
 PicoLisp
 Gambit
 EuLisp
 ISLISP
 OpenLisp
 PLT Scheme  Racket
 GNU Guile
 Visual LISP
 Clojure
 Arc
 LFE
 Hy

दर्शन

न्यूएलआईएसपी केवल कंप्यूटर डेटा स्टोरेज (उदाहरण के लिए, डिस्क स्पेस) और मेमोरी जैसे मामूली सिस्टम संसाधनों का उपयोग करते हुए लिस्प भाषा का तेज़, शक्तिशाली, क्रॉस-प्लेटफॉर्म, पूर्ण-विशेषताओं वाला स्क्रिप्टिंग संस्करण प्रदान करने का प्रयास करता है।[5][6]

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

न्यूएलआईएसपी ऑपरेटिंग सिस्टम बर्कले सॉफ्टवेयर वितरण (बीएसडी), लिनक्स, मैकओएस, सोलारिस (ऑपरेटिंग सिस्टम) और माइक्रोसॉफ़्ट विंडोज़ पर चलता है।[1] यह मायएसक्यूएल, एसक्यूलाइट और ओडीबीसी डेटाबेस एक्सेस, कॉमन गेटवे इंटरफ़ेस (सीजीआई), सरल डाक स्थानांतरण प्रोटोकॉल (एसएमटीपी), डाकघर प्रोटोकॉल (पीओपी) 3, फाइल ट्रांसफर प्रोटोकॉल (एफ़टीपी) और एक्सएमएल दूरस्थ सिस्टम संदेश (एक्सएमएल-आरपीसी) को सपोर्ट करता है। यह सर्वर मोड में डेमॉन (कंप्यूटिंग) के रूप में चल सकता है।

भाषा विशेषताएँ

संदर्भ

न्यूएलआईएसपी नेमस्पेस (प्रोग्रामिंग) कहे जाने वाले संदर्भों का समर्थन करता है, जिन्हें वेरिएबल (कंप्यूटर विज्ञान) को दिया जा सकता है और सबरूटीन को पास किया जा सकता है, किन्तु जो विश्व स्तर पर अद्वितीय प्रतीकों से जुड़े होते हैं, प्रथम श्रेणी के नागरिकों (ऑब्जेक्ट्स) के रूप में उनके उपयोग को सीमित करते हैं। प्रोटोटाइप-आधारित प्रोग्रामिंग|प्रोटोटाइप-आधारित ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग की शैली न्यूएलआईएसपी में संभव है, ऑब्जेक्ट (कंप्यूटर विज्ञान) के निर्माण के लिए प्रोटोटाइप के रूप में संदर्भों का उपयोग किया जाता है। संदर्भों के अंदर चर अन्य संदर्भों में समान नाम के चर के साथ हस्तक्षेप नहीं करते हैं, किन्तु संदर्भ के अंदर, चर गतिशील स्कोप (कंप्यूटर विज्ञान) के नियमों के अनुसार व्यवहार करते हैं।

स्कोपिंग

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

मेमोरी प्रबंधन

न्यूएलआईएसपी पारंपरिक कचरा संग्रह (कंप्यूटर विज्ञान) योजनाओं से अलग स्वचालित मेमोरी प्रबंधन की विधि का उपयोग करता है, जिसे केवल संदर्भ (ओआरओ) मेमोरी प्रबंधन कहा जाता है। प्रत्येक चर को केवल उसके संदर्भ द्वारा संदर्भित किया जाता है, और प्रत्येक संदर्भ को विश्व स्तर पर संदर्भित किया जाता है।

ऑब्जेक्ट (कंप्यूटर विज्ञान), चक्रीय संरचनाओं, या ही ऑब्जेक्ट की ओर इशारा करने वाले कई चर के बीच उप-वस्तुओं को साझा करना न्यूएलआईएसपी में समर्थित नहीं है। कुछ अंतर्निहित कार्यों को छोड़कर, डेटा संरचनाओं में संग्रहीत होने या फ़ंक्शंस में पास होने पर ऑब्जेक्ट की प्रतिलिपि बनाई जाती है। अपवाद प्रतीक और संदर्भ हैं, जिन्हें कॉपी करने के अतिरिक्त साझा किया जाता है, और इस प्रकार अप्रत्यक्ष रूप से उपयोग किया जा सकता है। प्रतीकों और संदर्भों को विश्व स्तर पर नाम दिया गया है और स्पष्ट रूप से हटा दिया गया है; किसी प्रतीक या संदर्भ को हटाने से उसके संदर्भों को nil से प्रतिस्थापित करने के लिए अन्य सभी ऑब्जेक्ट स्कैन हो जाते हैं .

जीयूआई विकल्प

न्यूएलआईएसपी ग्राफिकल यूजर इंटरफेस (जीयूआई) सर्वर (न्यूएलआईएसपी-जीएस) जावा (प्रोग्रामिंग भाषा)-आधारित इंटरनेट प्रोटोकॉल सुइट (टीसीपी/आईपी) सर्वर है जो ग्राफिकल प्रोग्रामिंग इंटरफेस प्रदान करता है। न्यूएलआईएसपी बाइनरी वितरण में नयाएलआईएसपी-जीएस आधारित विकास वातावरण सम्मिलित है, और जीटीके-सर्वर, ओपनजीएल, और टीसीएल/टीके (सॉफ्टवेयर)-आधारित प्रोग्रामिंग इंटरफेस उपलब्ध हैं।

स्टैंडअलोन बायनेरिज़

कोई भी नया लिस्प संस्करण तैनाती के लिए निष्पादन योग्य फ़ाइलें, पोर्टेबल अनुप्रयोग बनाने की अनुमति देता है, जो स्व-निहित हैं और उन्हें इंस्टॉल करने की आवश्यकता नहीं है।

साझा लाइब्रेरी के साथ सहभागिता

न्यूएलआईएसपी में आयात फ़ंक्शन है, जो विंडोज़ एपीआई विन32 पर डायनामिक-लिंक लाइब्रेरी (डीएलएल) से या लिनक्स या यूनिक्स पर साझा लाइब्रेरी से फ़ंक्शन आयात करने की अनुमति देता है।

फ़्रेमवर्क

न्यूएलआईएसपी के लिए उपलब्ध वेब फ्रेमवर्क में ड्रैगनफ्लाई [7] और रॉकेट्स सम्मिलित हैं।[8]


संदर्भ

  1. 1.0 1.1 1.2 "newLISP". Retrieved 2018-11-20.
  2. Walling, Rob. "न्यूएलआईएसपी के निर्माता लुत्ज़ मुलर के साथ एक साक्षात्कार". Softwarebyrob.com. Archived from the original on 2007-10-31. Retrieved 2018-11-20.
  3. Mueller, Lutz. "newLISP – a LISP Scripting Language". don Lucio. Retrieved 2018-11-20.
  4. Kobayashi, Shigeru. "kosh04/newlisp". GitHub. Retrieved 2018-11-20.
  5. "Category:newLISP". Rosetta Code. Retrieved 2018-11-20.
  6. Lazar, Alexandru (5 January 2009). "न्यूएलआईएसपी पर एक नजर". OSNews. Retrieved 2018-11-20.
  7. Slepak, Greg; Hildmann, Marc. "ड्रैगनफ्लाई वेब ढांचा". AppTruck. Retrieved 2018-11-20.
  8. Reimer, Jeremy. "The newLISP on Rockets 2.0 Blog". Rocket Man. Retrieved 2018-11-20.


बाहरी संबंध