रिबोल

From alpha
Jump to navigation Jump to search

Rebol
Rebol logo.png
Paradigmlanguage oriented programming, data exchange, functional, prototype-based, imperative
द्वारा डिज़ाइन किया गयाCarl Sassenrath
DeveloperREBOL Technologies
पहली प्रस्तुति1997; 27 years ago (1997)
Stable release
2.7.8 / January 2011; 13 years ago (2011-01)
Preview release
2.101.0 / December 2012; 11 years ago (2012-12)
टाइपिंग अनुशासनdynamic, strong
ओएसcross-platform
लाइसेंस2.7.8 is Freely redistributable software,[1] 2.101.0 has Apache 2.0 license[2]
फ़ाइल नाम एक्सटेंशनएस.r, .reb[3]
वेबसाइटwww.rebol.com
Influenced by
Self, Forth, Lisp, Logo[4]
Influenced
JSON,[5] Red

रिबोल (/ˈrɛbəl/ REB-əl; ऐतिहासिक रूप से REBOL) एक क्रॉस-प्लेटफॉर्म है[6]डेटा विनिमय भाषा और एक बहु-प्रतिमान प्रोग्रामिंग भाषा| नेटवर्क संचार और वितरित कंप्यूटिंग के लिए कार्ल ससेनराथ द्वारा डिज़ाइन की गई बहु-प्रतिमान गतिशील प्रोग्रामिंग भाषा। यह डायलिंग की अवधारणा का परिचय देता है: छोटा, अनुकूलन (कंप्यूटर विज्ञान), कोड और डेटा के लिए डोमेन-विशिष्ट भाषाएं,[6][7] जो इसके डिजाइनर कार्ल ससेनरथ के अनुसार भाषा की सबसे उल्लेखनीय संपत्ति भी है:

Although it can be used for programming, writing functions, and performing processes, its greatest strength is the ability to easily create domain-specific languages or dialects

— Carl Sassenrath[8]

जावास्क्रिप्ट के विकास में उनकी भागीदारी के लिए जाने जाने वाले डगलस क्रॉकफोर्ड ने रिबोल को एक अधिक आधुनिक भाषा के रूप में वर्णित किया है, लेकिन लिस्प के समान विचारों के साथ, इसमें यह सब डेटा के प्रतिनिधित्व पर बनाया गया है जो तब प्रोग्राम के रूप में निष्पादन योग्य है और एक के रूप में JSON के प्रभावों का।[5]

मूल रूप से, भाषा और इसका आधिकारिक कार्यान्वयन मालिकाना सॉफ्टवेयर और बंद स्रोत थे, जिसे REBOL Technologies द्वारा विकसित किया गया था। लॉरेंस रोसेन (वकील) के साथ चर्चा के बाद,[9] रिबोल संस्करण 3 दुभाषिया को अपाचे लाइसेंस | अपाचे 2.0 लाइसेंस के तहत 12 दिसंबर, 2012 को जारी किया गया था।[10] पुराने संस्करण केवल बाइनरी रूप में उपलब्ध हैं, और उनके लिए कोई स्रोत रिलीज़ करने की योजना नहीं है।

Rebol का उपयोग इंटरनेट अनुप्रयोग प्रक्रिया सामग्री (दोनों ग्राहक की ओर | क्लाइंट- और सर्वर साइड), डेटाबेस एप्लिकेशन, उपयोगिता सॉफ्टवेयर और मल्टीमीडिया एप्लिकेशन प्रोग्राम करने के लिए किया गया है।[6]


व्युत्पत्ति

Rebol शुरू में सभी बड़े अक्षरों में लिखी गई Relative Expression Based Object Language के लिए एक संक्षिप्त शब्द था।[6][8]प्रस्तुत भाषा नामकरण में आधुनिक रुझानों के साथ संरेखित करने के लिए, उदा। लिस्प द्वारा ऐतिहासिक नाम LISP को बदलने से, प्रोग्रामरों ने सभी बड़े अक्षरों में REBOL लिखने की प्रथा को बंद कर दिया। सासेनरथ ने अंततः नामकरण के सवाल को अपने ब्लॉग पर समुदाय की बहस में डाल दिया।[11] बाद के लेखन में, ससेनराथ ने भाषा के नाम को रेबोल के रूप में लिखने के सम्मेलन को अपनाया।[12]


इतिहास

पहली बार 1997 में जारी, Rebol को 20 साल की अवधि में डिज़ाइन किया गया था, AmigaOS के वास्तुकार और प्राथमिक विकासकर्ता, कार्ल ससेनरथ द्वारा, उनके द्वारा अर्थ संबंधी शब्दार्थ के अध्ययन और प्रोग्रामिंग भाषाओं लिस्प (प्रोग्रामिंग भाषा), फोर्थ (प्रोग्रामिंग भाषा) से अवधारणाओं का उपयोग करने के आधार पर। ), लोगो (प्रोग्रामिंग भाषा), और स्वयं (प्रोग्रामिंग भाषा)

  1. REBOL Technologies की स्थापना 1998 में हुई थी।
  2. REBOL 2, दुभाषिया, जो विस्तारित दुभाषिया संस्करणों का मूल बन गया, पहली बार 1999 में जारी किया गया था।
    1. REBOL/कमांड, जिसमें मजबूत एन्क्रिप्शन और डेटाबेस कनेक्टिविटी खोलें एक्सेस जोड़ा गया, सितंबर 2000 में जारी किया गया था।
    2. REBOL/View को अप्रैल 2001 में जारी किया गया था, जिसमें मुख्य भाषा में चित्रमय क्षमताएं शामिल थीं।
    3. REBOL/IOS, REBOL के साथ निर्मित एक विस्तारणीय सहयोग वातावरण अगस्त 2001 में जारी किया गया था।
    4. आरईबीओएल/एसडीके, गुठली का एक विकल्प प्रदान करता है, साथ ही एक पूर्वप्रक्रमक के खिलाफ, दिसंबर 2002 में जारी किया गया था।
  3. Rebol 3 [R3], दुभाषिया (कंप्यूटिंग) का नवीनतम संस्करण, REBOL Technologies द्वारा जनवरी 2008 से अल्फा संस्करण जारी किया गया था। दिसंबर 2012 में Apache 2 प्रोजेक्ट के रूप में इसकी रिलीज़ के बाद से, इसे Rebol समुदाय द्वारा विकसित किया जा रहा है।[13]


डिजाइन

उपयोग में आसानी

रेबोल डिजाइन सिद्धांतों में से एक सरल चीजों को सरल तरीकों से करना है।[6]निम्नलिखित उदाहरण में ग्राफिकल यूजर इंटरफेस के साथ एक सरल हैलो वर्ल्ड प्रोग्राम का वर्णन करने के लिए विज़ुअल इंटरफ़ेस बोली का उपयोग किया जाता है:

<वाक्यविन्यास हाइलाइट लैंग = स्मॉलटॉक> लेआउट देखें [टेक्स्ट हैलो वर्ल्ड! बटन Quit [छोड़ें</syntaxhighlight>

R3-GUI में ऐसा ही एक उदाहरण दिखता है:

देखें [टेक्स्ट हैलो वर्ल्ड! बटन क्रिया से बाहर निकलें [छोड़ें

R3-GUI हैलो वर्ल्ड उदाहरण

बोलियां

Rebol डोमेन-विशिष्ट भाषाएँ, जिन्हें बोलियाँ कहा जाता है, एक विशिष्ट उद्देश्य के लिए अनुकूलित सूक्ष्म भाषाएँ हैं। किसी प्रोग्राम की स्थापना के दौरान व्यावसायिक नियमों, ग्राफिकल यूजर इंटरफेस या स्क्रीन के अनुक्रम को परिभाषित करने के लिए बोलियों का उपयोग किया जा सकता है। उपयोगकर्ता अपनी स्वयं की बोलियों को परिभाषित कर सकते हैं, किसी भी मौजूदा रिबोल शब्द का पुन: उपयोग कर सकते हैं और इसे उस बोली में एक विशिष्ट अर्थ दे सकते हैं।[6]बोलियों को एक विशिष्ट तरीके से रेबोल ब्लॉक (या पार्सिंग स्ट्रिंग्स) को संसाधित करने वाले कार्यों द्वारा भाषा की व्याख्या की जाती है।

शब्द के साथ रेबोल की बोली लगाने की क्षमता का एक उदाहरण देखा जा सकता है return. डेटा एक्सचेंज बोली में return केवल एक शब्द है जिसका कोई विशेष अर्थ नहीं है। डो बोली में, return एक वैश्विक चर है जो एक मूल कार्य (कंप्यूटर विज्ञान) का संदर्भ देता है जो एक कार्य परिणाम मान को वापस करता है।[4] विज़ुअल इंटरफ़ेस डायलेक्ट (VID) में, return एक कीवर्ड (कंप्यूटर प्रोग्रामिंग) है, जिससे लेआउट इंजन कैरिज रिटर्न का अनुकरण करता है, रेंडरिंग पेन को अगली पंक्ति की शुरुआत में ले जाता है।[7]

ग्राफिकल क्षमताओं के साथ एक रिबोल दुभाषिया को कई बोलियों को समझना और व्याख्या करना चाहिए। नीचे दी गई तालिका महत्व के क्रम में सबसे महत्वपूर्ण सूचीबद्ध करती है।

Dialect name Interpreted by Purpose
Data exchange dialect load function represents data and metadata; common platform for Rebol dialects
Do dialect do function programming
Parse dialect parse function pattern matching
Function specification dialect make function function definition; functional programming
Object specification dialect make function object definition/inheritance; prototype-based programming
Visual interface dialect (VID)
or
RebGUI
layout function
or
display function
specifies graphical user interface
Draw dialect view function defines graphical elements (lines, polygons, etc.)
Script specification dialect do function script definition
Security policy dialect secure function specifies security policy


सिंटेक्स

रिबोल सिंटैक्स (प्रोग्रामिंग भाषाएं) मुक्त रूप भाषा है। फ्री-फॉर्म, विशिष्ट स्थिति की आवश्यकता नहीं है। हालांकि, मानव पाठकों को पाठ की संरचना को बेहतर ढंग से व्यक्त करने के लिए अक्सर इंडेंट शैली का उपयोग किया जाता है।

विभिन्न बोलियों के वाक्यगत गुण भिन्न हो सकते हैं। सभी रिबोल बोलियों के लिए सामान्य मंच डेटा एक्सचेंज बोली है; अन्य बोलियाँ आमतौर पर इससे प्राप्त होती हैं। सभी बोलियों के लिए सामान्य मंच होने के अलावा, डेटा एक्सचेंज बोली का उपयोग सीधे डेटा और मेटाडेटा का प्रतिनिधित्व करने, डेटा संरचनाओं को पॉप्युलेट करने, इंटरनेट पर डेटा भेजने और डेटा स्टोरेज में सहेजने के लिए किया जाता है।

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

ब्लॉक के साथ-साथ माता-पिता में अन्य समग्र मान हो सकते हैं (एक ब्लॉक में सबब्लॉक, पैरेंस, स्ट्रिंग्स, ...) या स्केलर (कंप्यूटिंग) जैसे शब्द, सेट-वर्ड्स (कोलन (विराम चिह्न) द्वारा प्रत्ययित शब्द), गेट-वर्ड्स हो सकते हैं (बृहदान्त्र द्वारा पूर्व में लगाए गए शब्द), लिट-वर्ड्स (एपोस्ट्रोफी (चिन्ह) द्वारा पूर्व में लगाए गए शब्द), नंबर, मनी, अक्षरों को सांकेतिक अक्षरों में बदलना आदि, जिन्हें व्हॉट्सएप (कंप्यूटर साइंस) द्वारा अलग किया गया है। ध्यान दें कि शब्दों में विशेष वर्णों की अनुमति है, इसलिए a+b विपरीत शब्द है a + b, जो रिक्त स्थान द्वारा अलग किए गए तीन शब्दों का अनुक्रम है।

टिप्पणी (कंप्यूटर प्रोग्रामिंग) पंक्ति के अंत तक अर्धविराम के बाद दिखाई दे सकती है। बहु-पंक्ति टिप्पणियों या टिप्पणियों को लेक्सिकल पार्सर द्वारा अनदेखा नहीं किया जा सकता है, जैसे बहु-पंक्ति स्ट्रिंग्स जैसे सामान्य डेटाटाइप्स का उपयोग करके लिखा जा सकता है।[4]


शब्दार्थ

विशिष्ट मूल्यांकनकर्ता कार्यों के लिए डोमेन-विशिष्ट भाषा वाले ब्लॉक को तर्क (कंप्यूटर विज्ञान) के रूप में प्रस्तुत किया जा सकता है।[6]


=करना

सबसे अधिक इस्तेमाल किया जाने वाला मूल्यांकनकर्ता है do समारोह। यह इंटरप्रेटर कमांड लाइन इंटरफेस में टेक्स्ट इनपुट की व्याख्या करने के लिए डिफ़ॉल्ट रूप से उपयोग किया जाता है।

द्वारा व्याख्या की गई बोली do फ़ंक्शन, एक अभिव्यक्ति-उन्मुख प्रोग्रामिंग लैंग्वेज है। डेटा एक्सचेंज बोली की अभिव्यक्ति-उन्मुख उपभाषा। भाषा की मुख्य शब्दार्थ इकाई अभिव्यक्ति (प्रोग्रामिंग) है। ALGOL से निकलने वाली अनिवार्य प्रोग्रामिंग भाषाओं के विपरीत, do बोली में न तो कीवर्ड हैं, न ही कथन।

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

रूट ब्लॉक के सबब्लॉक स्वयं का मूल्यांकन करते हैं। इस संपत्ति का उपयोग प्रवाह कार्यों को नियंत्रित करने के लिए तर्क के रूप में ब्लॉक सबमिट करके संरचित प्रोग्रामिंग के लिए डेटा ब्लॉक को संभालने के लिए किया जाता है if, either, loop, आदि, और डायलेक्टिंग के लिए, जब एक विशिष्ट दुभाषिया समारोह में एक ब्लॉक पारित किया जाता है।[6]

ध्यान देने योग्य एक विशिष्ट समस्या यह है कि वेरिएबल्स को असाइन किए गए समग्र मान कॉपी नहीं किए जाते हैं। प्रतिलिपि बनाने के लिए, मान को पास किया जाना चाहिए copy समारोह।[4]

do ई> फ़ंक्शन सामान्य रूप से एक पॉलिश अंकन का अनुसरण करता है, जहां एक फ़ंक्शन उन तर्कों को संसाधित करता है जो इसका पालन करते हैं। हालांकि, इंफिक्स ऑपरेटर (प्रोग्रामिंग) का उपयोग कर इंफिक्स नोटेशन भी मौजूद है। इन्फिक्स मूल्यांकन उपसर्ग मूल्यांकन पर पूर्वता लेता है। उदाहरण के लिए,
पूर्ण मूल्य -2 + 3

1 लौटाता है, क्योंकि निरपेक्ष मान की गणना पर इन्फिक्स जोड़ पूर्वता लेता है। इंफिक्स एक्सप्रेशन का मूल्यांकन करते समय, मूल्यांकन का क्रम बाएं से दाएं होता है, कोई ऑपरेटर दूसरे पर संचालन का आदेश नहीं लेता है। उदाहरण के लिए, <वाक्यविन्यास लैंग = स्मॉलटॉक> 2 + 3 * 4 </वाक्यविन्यास हाइलाइट> 20 देता है, जबकि गुणन को प्राथमिकता देने वाला मूल्यांकन 14 प्राप्त करेगा। सभी ऑपरेटरों के पास उपसर्ग संस्करण हैं। Do आम तौर पर उन्हें किसी फ़ंक्शन में पास करने से पहले तर्कों का मूल्यांकन करता है। तो, नीचे दी गई अभिव्यक्ति:

प्रिंट पढ़ें http://en.wikipedia.org/wiki/Rebol

पहले विकिपीडिया रिबोल पृष्ठ पढ़ता है और फिर परिणाम को पास करता है print समारोह। मूल्यांकन के क्रम को बदलने के लिए कोष्ठक का उपयोग किया जा सकता है। पोलिश संकेतन का उपयोग करके, भावों में कोष्ठकों के उपयोग से बचा जा सकता है।[4]

सरल पूर्वता नियम दोनों एक लाभ हैं:

  • भाव लिखते समय पूर्वता तालिका से परामर्श करने की आवश्यकता नहीं है
  • नए ऑपरेटर परिभाषित होने पर वरीयता तालिका को फिर से लिखने की आवश्यकता नहीं है
  • भावों को आसानी से इन्फिक्स से उपसर्ग संकेतन और इसके विपरीत लिप्यंतरण किया जा सकता है

साथ ही एक नुकसान:

  • अधिक पारंपरिक वरीयता नियमों के आदी उपयोगकर्ता आसानी से गलती कर सकते हैं[6]


== पार्स == parse e> फ़ंक्शन का उपयोग बोलियों को निर्दिष्ट करने, मान्य करने, बदलने और व्याख्या करने के लिए किया जाता है। यह रन टाइम पर पार्स एक्सप्रेशंस का मिलान करके ऐसा करता है।[6]

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

पार्सिंग प्रक्रिया के दौरान की जाने वाली कार्रवाइयां भी शामिल की जा सकती हैं और parse फ़ंक्शन का उपयोग ब्लॉक या स्ट्रिंग्स को संसाधित करने के लिए किया जा सकता है। स्ट्रिंग पार्सिंग स्तर पर parse खाते के चरित्र (कंप्यूटिंग) और सीमांकक को ध्यान में रखते हुए निम्न स्तर के पार्सिंग को संभालना चाहिए। ब्लॉक पार्सिंग उच्च स्तर है, रेबोल मूल्यों के स्तर पर स्कैनिंग को संभालना।[6]

पार्स बोली शीर्ष-डाउन पार्सिंग भाषा या पार्सिंग एक्सप्रेशन व्याकरण (पीईजी) द्वारा प्रस्तुत व्याकरण के परिवार से संबंधित है। मुख्य समानता परिवार के सभी सदस्यों के अनुक्रम और पसंद संचालकों की उपस्थिति है। पार्स बोली सिंटैक्स और पार्स बोली और पीईजी के बीच समानताएं पार्सिंग अभिव्यक्ति व्याकरण के इस लिप्यंतरण द्वारा चित्रित की गई हैं # उदाहरण जो एक अंकगणितीय अभिव्यक्ति को पार्स करते हैं: <वाक्यविन्यास लैंग = स्मॉलटॉक> अंक: चारसेट [# 0 - # 9 ] मान: [कुछ अंक | (एक्सपीआर)] उत्पाद: [कोई मूल्य * | / ] कीमत योग: [उत्पाद कोई भी + | - ] उत्पाद Expr: योग पार्स/ऑल 12+13 एक्सप्रेशन</syntaxhighlight>

कार्यान्वयन

आधिकारिक Rebol 2.7.8 कार्यान्वयन कई संस्करणों (/Core, /View, /Command, /SDK and /IOS) में उपलब्ध है। /Core और /View संस्करण दोनों स्वतंत्र रूप से पुनर्वितरण योग्य सॉफ़्टवेयर हैं।[1]

रनटाइम वातावरण एक एकल निष्पादन योग्य फ़ाइल में संग्रहीत होता है। Rebol/Core 2.7.8, कंसोल संस्करण, लगभग 300 KB और Rebol/View 2.7.8, ग्राफिकल यूज़र इंटरफ़ेस संस्करण, आकार में लगभग 650 KB है।

रिबोल/व्यू क्रॉस-प्लेटफॉर्म प्रदान करता है। प्लेटफॉर्म-स्वतंत्र ग्राफिक्स और साउंड एक्सेस, और अपने स्वयं के विंडोिंग टूलकिट और शैलियों के एक्स्टेंसिबल सेट (जीयूआई विजेट) के साथ आता है। विस्तारित संस्करण, जैसे Rebol/Command 2.7.8 या Rebol/SDK 2.7.8 के लिए भुगतान लाइसेंस की आवश्यकता होती है; वे ODBC डेटा एक्सेस जैसी सुविधाएँ और स्टैंडअलोन निष्पादन योग्य फ़ाइलें बनाने का विकल्प जोड़ते हैं।[citation needed]


विरासत

  • रेबोल को डगलस क्रॉकफोर्ड द्वारा जावास्क्रिप्ट ऑब्जेक्ट नोटेशन की प्रेरणाओं में से एक के रूप में नामित किया गया था।[5]* रेबोल ने ओपन-सोर्स ओर्का प्रोजेक्ट को प्रेरित किया, जो एक व्याख्या की गई रेबोल जैसी भाषा है।[14]
  • Boron एक इंटरप्रेटेड, होमोइकोनिक भाषा है जो Rebol से प्रेरित और उसके समान है, जो डोमेन विशिष्ट भाषाओं को एम्बेड करने के लिए है। इसे LGPLv3 की शर्तों के तहत लाइसेंस प्राप्त सी लाइब्रेरी के रूप में लागू किया गया है।
  • लाल (प्रोग्रामिंग भाषा) सीधे रेबोल से प्रेरित थी, फिर भी रेड के कार्यान्वयन विकल्प विशेष रूप से इसकी कथित सीमाओं पर काबू पाने के लिए तैयार किए गए थे।[15]


यह भी देखें

  • डोमेन-विशिष्ट भाषा
  • भाषा उन्मुख प्रोग्रामिंग

संदर्भ

  1. 1.0 1.1 REBOL Technologies. The REBOL/View and REBOL/Core 2.7.8 license
  2. R3 source at GitHub
  3. "Carl's REBOL Blog - Let's switch to .reb suffix". Rebol.com. August 18, 2013. Retrieved January 23, 2014.
  4. 4.0 4.1 4.2 4.3 4.4 4.5 4.6 Goldman, E., Blanton, J. (2000). REBOL: The Official Guide. McGraw-Hill Osborne Media. ISBN 0-07-212279-X.
  5. 5.0 5.1 5.2 Crockford, Douglas. The JSON Saga, jsonsaga.ppt Archived October 4, 2012, at the Wayback Machine
  6. 6.00 6.01 6.02 6.03 6.04 6.05 6.06 6.07 6.08 6.09 6.10 6.11 Roberts, Ralph (2000). REBOL for Dummies. Hungry Minds. ISBN 0-7645-0745-1.
  7. 7.0 7.1 Auverlot, Olivier (2001). Rebol Programmation. Eyrolles. ISBN 2-212-11017-0.
  8. 8.0 8.1 Sassenrath, Carl (July 1, 2000). "Inside the REBOL scripting language". Dr. Dobb's Journal.
  9. "REBOL to become open source". Rebol.com. September 25, 2012. Retrieved January 23, 2014.
  10. Sassenrath, Carl (December 12, 2012). "Comments on: R3 Source Code Released!". Retrieved August 14, 2014. You probably thought the source release would never happen? Am I right? Well, it's there now in github at github.com/rebol/rebol.
  11. "Calling REBOL Rebol?". December 14, 2012. Archived from the original on December 3, 2013. Retrieved December 2, 2013.
  12. Sassenrath, Carl. "Cross-compiling Rebol for your favorite embedded board". Retrieved September 16, 2016.
  13. "Source code for the Rebol interpreter". rebol/rebol GitHub. Retrieved March 14, 2017.
  14. The rebol-orca project at Freecode
  15. The Red project at GitHub


अग्रिम पठन


बाहरी संबंध