282:
638:, are micro-languages optimized for a specific purpose. Dialects can be used to define business rules, graphical user interfaces or sequences of screens during the installation of a program. Users can define their own dialects, reusing any existing Rebol word and giving it a specific meaning in that dialect. Dialects are
620:
1504:
is an interpreted, homoiconic language inspired by and similar to Rebol, which is meant for embedding domain specific languages. It is implemented as a C library licensed under the terms of the LGPLv3.
396:, has described Rebol as "a more modern language, but with some very similar ideas to Lisp, in that it's all built upon a representation of data which is then executable as programs" and as one of
1177:
returns 1, since the infix addition takes precedence over the computation of the absolute value. When evaluating infix expressions, the order of evaluation is left to right, no operator takes
485:
in all caps. Sassenrath eventually put the naming question to the community debate on his blog. In subsequent writing, Sassenrath adopted the convention of writing the language name as
1970:
571:, had alpha versions released by REBOL Technologies since January 2008. Since its release as an Apache 2 project in December 2012, it is being developed by the Rebol community.
379:
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
40:
1348:
operators all the family members have. Parse dialect syntax and the similarities between the parse dialect and the PEG are illustrated by this transliteration of a
1103:, variables don't have an associated type, type is associated with values. The result, i.e. the evaluation of a word is returned, when a word is encountered by the
699:
A Rebol interpreter with graphical abilities must understand and interpret many dialects. The table below lists the most important ones in order of significance.
1026:
until the end of the line. Multi-line comments or comments not ignored by the lexical parser can be written using "ordinary" datatypes like multi-line strings.
2287:
2267:
1145:
A specific problem worth noting is that composite values, assigned to variables, are not copied. To make a copy, the value must be passed to the
2297:
2277:
1939:
1917:
1511:
was directly inspired by Rebol, yet the implementation choices of Red were geared specifically to overcoming its perceived limitations.
473:
anguage written in all caps. To align with modern trends in language naming represented, e.g. by the change replacing historical name
2307:
2302:
1070:
1934:
2233:
899:
is directly used to represent data and metadata, populate data structures, send data over
Internet, and save them in data storage.
2021:
1794:
You probably thought the source release would never happen? Am I right? Well, it's there now in github at github.com/rebol/rebol.
2292:
2262:
1478:
2.7.8 require a paid license; they add features like ODBC data access, and the option to create standalone executable files.
497:
First released in 1997, Rebol was designed over a 20-year period by Carl
Sassenrath, the architect and primary developer of
1807:
2137:
1652:
345:
1918:"A REBOL incursion: It's not a scripting language, not a programming language -- and not a new Amiga, either. Or is it?"
1203:
returns 20, while an evaluation giving precedence to multiplication would yield 14. All operators have prefix versions.
1723:
1699:
1622:
988:
Blocks as well as parens may contain other composite values (a block may contain subblocks, parens, strings, ...) or
325:
415:
on
December 12, 2012. Older versions are only available in binary form, and no source release for them is planned.
1438:
364:
201:
1349:
2252:
2089:
2039:
1112:
1019:
911:
877:
689:
141:
2272:
1526:
1108:
1005:
895:; other dialects are usually derived from it. In addition to being the common platform for all dialects, the
52:
1896:
2282:
2212:
1264:
function is preferably used to specify, validate, transform and interpret dialects. It does so by matching
510:
348:
247:
559:, providing a choice of kernels to bind against, as well as a preprocessor, was released in December 2002.
2257:
2014:
1035:
978:
891:
Syntactic properties of different dialects may differ. The common platform for all Rebol dialects is the
793:
769:
675:
585:
One of the Rebol design principles is "to do simple things in simple ways". In the following example the
518:
514:
506:
255:
251:
243:
119:
64:
1508:
1492:
1337:
1100:
538:
531:, the interpreter, which became the core of extended interpreter editions, was first released in 1999.
271:
619:
1333:
1122:
Subblocks of the root block evaluate to themselves. This property is used to handle data blocks, for
943:
789:
408:
371:
for code and data, which is also the most notable property of the language according to its designer
1925:
1521:
1453:
1078:
959:
919:
903:
821:
631:
368:
1466:
graphics and sound access, and comes with its own windowing toolkit and extensible set of styles (
285:
915:
568:
2052:
2007:
1165:
1123:
1116:
1096:
1055:
773:
502:
341:
68:
60:
56:
2127:
1744:
1322:
356:
17:
1975:
639:
422:
404:
47:
8:
2067:
1944:
1498:
Rebol inspired the open-source Orca project, which is an interpreted Rebol-like language.
1207:
usually evaluates arguments before passing them to a function. So, the below expression:
1178:
993:
970:
927:
590:
2077:
1168:
exists too. Infix evaluation takes precedence over the prefix evaluation. For example,
1142:, etc., and for dialecting, when a block is passed to a specific interpreter function.
1001:
989:
963:
881:
553:, an extensible collaboration environment built with REBOL was released in August 2001.
212:
87:
1719:
1695:
1639:
1618:
1488:
997:
389:
2196:
1093:
753:
438:
302:
195:
183:
1298:, infix parsing operators don't have prefix equivalents and use precedence rules (
2047:
1965:
1656:
1295:
1240:
1223:
1157:
693:
671:
372:
352:
80:
75:
1811:
1781:
1251:
Users accustomed to more conventional precedence rules may easily make a mistake
2171:
2072:
1463:
1406:
1309:
Actions can be included to be taken during the parsing process as well and the
1171:
1161:
1054:
function. It is used by default to interpret the text input to the interpreter
981:. The fact that code is written in the form of Rebol blocks makes the language
955:
947:
412:
338:
205:
188:
172:
1644:
407:
and closed source, developed by REBOL Technologies. Following discussion with
2246:
2201:
2191:
2084:
2030:
1960:
1649:
996:), get-words (words prefixed by the colon), lit-words (words prefixed by the
982:
642:
by functions processing Rebol blocks (or parsing strings) in a specific way.
281:
176:
547:
was released in April 2001, adding graphical abilities on the core language.
1880:
1222:
function. Parentheses can be used to change the order of evaluation. Using
1127:
974:
888:
is often used to better convey the structure of the text to human readers.
885:
2186:
2181:
2144:
2119:
1989:
1834:
1758:
1579:
430:
426:
167:
1999:
2217:
1467:
1332:
The parse dialect belongs to the family of grammars represented by the
1218:
first reads the
Knowledge Rebol page and then passes the result to the
442:
393:
360:
1501:
1329:
is higher level, handling the scanning at the level of Rebol values.
1023:
931:
696:, moving the "rendering pen" down to the beginning of the next line.
645:
An example of Rebol's dialecting abilities can be seen with the word
1551:
1160:, where a function processes the arguments that follow it. However,
1884:
1236:
No need to rewrite precedence tables when a new operator is defined
434:
419:
1994:
1081:. In contrast to imperative programming languages descending from
2057:
1855:
951:
939:
935:
725:
represents data and metadata; common platform for Rebol dialects
498:
930:
consisting of blocks (the root block is implicit, subblocks are
2206:
2164:
2154:
2149:
1984:
1979:
1900:
1740:
1567:
1444:
The runtime environment is stored in a single executable file.
1233:
No need to "consult" precedence tables when writing expressions
1034:
Blocks containing domain-specific language can be submitted as
1563:
403:
Originally, the language and its official implementation were
317:
2132:
1082:
967:
39:
1294:
uses keywords representing operators and the most important
2222:
2176:
2159:
2109:
2099:
2062:
397:
311:
267:
1313:
function can be used to process blocks or strings. At the
1226:, the usage of parentheses in expressions can be avoided.
1016:, which is a sequence of three words separated by spaces.
2104:
1321:
must handle the "low level" parsing, taking into account
1111:. While not having statements, assignment, together with
411:, the Rebol version 3 interpreter was released under the
1835:"Cross-compiling Rebol for your favorite embedded board"
660:
is just a word not having any specific meaning. In the
226:
1107:
function. The set-word form of a word can be used for
973:, Rebol blocks are composite values similar to quoted
1448:
2.7.8, the console edition, is about 300 KB and
326:
314:
308:
1229:The simple precedence rules are both an advantage:
837:defines graphical elements (lines, polygons, etc.)
305:
1340:(PEG). The main similarity is the presence of the
505:and using concepts from the programming languages
392:, known for his involvement in the development of
1580:"Carl's REBOL Blog - Let's switch to .reb suffix"
2244:
1935:"Rebol Might Be the Language for the Rest of Us"
1077:. The main semantic unit of the language is the
27:Programming language designed by Carl Sassenrath
1282:, is an expression-oriented sublanguage of the
1212:
884:, not requiring specific positioning. However,
607:This is how a similar example looks in R3-GUI:
1008:. Special characters are allowed in words, so
2015:
992:like words, set-words (words suffixed by the
678:passing back a function result value. In the
481:, programmers ceased the practice of writing
1243:from infix to prefix notation and vice versa
2022:
2008:
1779:
1738:
1050:The most frequently used evaluator is the
962:, e-mail addresses, files, paths or other
902:In contrast to programming languages like
2029:
2234:Comparison of data-serialization formats
1969:) is being considered for deletion. See
692:causing the layout engine to simulate a
147:2.101.0 / December 2012
2288:Extensible syntax programming languages
2268:Dynamically typed programming languages
1856:"Source code for the Rebol interpreter"
1782:"Comments on: R3 Source Code Released!"
1456:edition, is about 650 KB in size.
541:access, was released in September 2000.
525:REBOL Technologies was founded in 1998.
14:
2245:
1832:
1780:Sassenrath, Carl (December 12, 2012).
1635:
1633:
1631:
1352:that parses an arithmetic expression:
1089:has neither keywords, nor statements.
2298:Programming languages created in 1997
2278:Prototype-based programming languages
2003:
1932:
1915:
1741:"Inside the REBOL scripting language"
1686:
1684:
1544:
1542:
1126:by submitting blocks as arguments to
958:is used for unprintable characters),
1734:
1732:
1710:
1708:
1682:
1680:
1678:
1676:
1674:
1672:
1670:
1668:
1666:
1664:
1609:
1607:
1605:
1603:
1601:
1599:
1597:
1557:
1550:The REBOL/View and REBOL/Core 2.7.8
537:, which added strong encryption and
1810:. December 14, 2012. Archived from
1628:
453:Rebol was initially an acronym for
24:
1933:Story, Derrick (August 27, 1999).
1909:
1539:
1409:is available in several editions (
1400:
25:
2319:
1973:to help reach a consensus. ›
1952:
1916:Mikes, Nora (November 20, 1999).
1739:Sassenrath, Carl (July 1, 2000).
1729:
1705:
1661:
1613:Goldman, E., Blanton, J. (2000).
1594:
954:suitable for multi-line strings;
593:with a graphical user interface:
2308:Homoiconic programming languages
2303:High-level programming languages
618:
359:. It introduces the concept of
301:
280:
38:
1889:
1873:
1848:
1826:
1800:
1773:
1761:. Rebol.com. September 25, 2012
1439:freely redistributable software
760:Function specification dialect
418:Rebol has been used to program
355:for network communications and
202:Freely redistributable software
125:2.7.8 / January 2011
1751:
1572:
1491:as one of the inspirations of
1470:). Extended editions, such as
800:Visual interface dialect (VID)
680:visual interface dialect (VID)
580:
13:
1:
2293:Formerly proprietary software
2263:Dynamic programming languages
1995:Rebol 3 (Oldes' fork) sources
1958:
1759:"REBOL to become open source"
1532:
1527:Language-oriented programming
1213:http://en.wikipedia.org/Rebol
842:Script specification dialect
780:Object specification dialect
589:is used to describe a simple
53:language oriented programming
1582:. Rebol.com. August 18, 2013
1156:function normally follows a
1029:
567:, the newest version of the
448:
349:dynamic programming language
7:
1617:McGraw-Hill Osborne Media.
1515:
1302:has higher precedence than
1247:as well as a disadvantage:
1181:over another. For example,
1113:functions with side-effects
1101:dynamically typed languages
794:prototype-based programming
625:
149:; 11 years ago
127:; 13 years ago
102:; 27 years ago
10:
2324:
1714:Auverlot, Olivier (2001).
1615:REBOL: The Official Guide.
1493:JavaScript Object Notation
1338:parsing expression grammar
1239:Expressions can be easily
1158:prefix style of evaluation
865:specifies security policy
492:
2231:
2118:
2038:
1481:
1405:The official Rebol 2.7.8
1334:top-down parsing language
1022:may appear following the
871:
632:domain-specific languages
575:
369:domain-specific languages
277:
266:
261:
242:
237:
221:
211:
194:
182:
166:
162:
140:
118:
114:
96:
86:
74:
46:
37:
1971:templates for discussion
1655:October 4, 2012, at the
1522:Domain-specific language
1509:Red programming language
1454:graphical user interface
1354:
1255:
1183:
938:), parens (delimited by
856:Security policy dialect
822:graphical user interface
792:definition/inheritance;
609:
595:
587:Visual interface dialect
501:, based on his study of
1690:Roberts, Ralph (2000).
1808:"Calling REBOL Rebol?"
1124:structured programming
1117:imperative programming
774:functional programming
716:Data exchange dialect
674:referring to a native
503:denotational semantics
387:
342:data exchange language
2253:Programming languages
1284:data exchange dialect
1075:data exchange dialect
1045:
1004:, etc., separated by
924:data exchange dialect
922:or keywords. A valid
908:data exchange dialect
897:data exchange dialect
893:data exchange dialect
653:data exchange dialect
377:
357:distributed computing
2273:Functional languages
1947:on October 12, 1999.
1716:Rebol Programmation.
1548:REBOL Technologies.
1464:platform-independent
910:does not consist of
2283:Scripting languages
1814:on December 3, 2013
1487:Rebol was named by
1274:are written in the
1073:sublanguage of the
1071:expression-oriented
1065:interpreted by the
1000:), numbers, money,
928:tree data structure
591:Hello world program
213:Filename extensions
97:First appeared
34:
2258:AmigaOS 4 software
1928:on March 24, 2005.
1881:rebol-orca project
1860:rebol/rebol GitHub
1833:Sassenrath, Carl.
1745:Dr. Dobb's Journal
1692:REBOL for Dummies.
1640:Crockford, Douglas
1278:, which, like the
1092:Words are used as
851:script definition
413:Apache 2.0 license
206:Apache 2.0 license
92:REBOL Technologies
32:
2240:
2239:
1489:Douglas Crockford
1392:"12+13"
1272:Parse expressions
1266:parse expressions
1012:is a word unlike
926:text stream is a
869:
868:
390:Douglas Crockford
294:
293:
286:Rebol Programming
168:Typing discipline
16:(Redirected from
2315:
2197:Protocol Buffers
2024:
2017:
2010:
2001:
2000:
1990:Rebol 3 Tutorial
1985:A REBOL tutorial
1948:
1943:. Archived from
1929:
1924:. Archived from
1903:
1893:
1887:
1877:
1871:
1870:
1868:
1866:
1852:
1846:
1845:
1843:
1841:
1830:
1824:
1823:
1821:
1819:
1804:
1798:
1797:
1790:
1788:
1777:
1771:
1770:
1768:
1766:
1755:
1749:
1748:
1736:
1727:
1712:
1703:
1688:
1659:
1637:
1626:
1611:
1592:
1591:
1589:
1587:
1576:
1570:
1561:
1555:
1546:
1396:
1393:
1390:
1387:
1384:
1381:
1377:
1374:
1370:
1367:
1364:
1361:
1358:
1325:and delimiters.
1320:
1312:
1263:
1221:
1206:
1199:
1196:
1193:
1190:
1187:
1162:infix evaluation
1155:
1148:
1141:
1137:
1133:
1115:can be used for
1106:
1094:case-insensitive
1069:function, is an
1068:
1053:
1015:
1011:
964:composite values
861:
847:
833:
816:
809:
785:
765:
754:pattern matching
749:
735:
721:
702:
701:
687:
669:
659:
650:
622:
613:
602:
599:
385:
329:
324:
323:
320:
319:
316:
313:
310:
307:
284:
233:
230:
228:
157:
155:
150:
135:
133:
128:
110:
108:
103:
76:Designed by
42:
35:
31:
21:
2323:
2322:
2318:
2317:
2316:
2314:
2313:
2312:
2243:
2242:
2241:
2236:
2227:
2114:
2034:
2028:
1974:
1955:
1912:
1910:Further reading
1907:
1906:
1894:
1890:
1878:
1874:
1864:
1862:
1854:
1853:
1849:
1839:
1837:
1831:
1827:
1817:
1815:
1806:
1805:
1801:
1786:
1784:
1778:
1774:
1764:
1762:
1757:
1756:
1752:
1737:
1730:
1713:
1706:
1689:
1662:
1657:Wayback Machine
1638:
1629:
1612:
1595:
1585:
1583:
1578:
1577:
1573:
1562:
1558:
1547:
1540:
1535:
1518:
1484:
1403:
1401:Implementations
1398:
1397:
1394:
1391:
1388:
1385:
1382:
1379:
1375:
1372:
1368:
1365:
1362:
1359:
1356:
1318:
1310:
1261:
1258:
1224:prefix notation
1219:
1216:
1215:
1204:
1201:
1200:
1197:
1194:
1191:
1188:
1185:
1175:
1153:
1146:
1139:
1135:
1131:
1130:functions like
1104:
1066:
1051:
1048:
1032:
1013:
1009:
936:square brackets
874:
859:
845:
831:
814:
813:
811:
807:
803:
801:
783:
763:
747:
733:
719:
708:Interpreted by
694:carriage return
683:
672:global variable
665:
655:
646:
628:
616:
615:
611:
605:
604:
600:
597:
583:
578:
495:
451:
400:'s influences.
386:
384:Carl Sassenrath
383:
373:Carl Sassenrath
353:Carl Sassenrath
333:; historically
327:
304:
300:
225:
158:
153:
151:
148:
142:Preview release
136:
131:
129:
126:
106:
104:
101:
81:Carl Sassenrath
65:prototype-based
28:
23:
22:
15:
12:
11:
5:
2321:
2311:
2310:
2305:
2300:
2295:
2290:
2285:
2280:
2275:
2270:
2265:
2260:
2255:
2238:
2237:
2232:
2229:
2228:
2226:
2225:
2220:
2215:
2210:
2204:
2199:
2194:
2189:
2184:
2179:
2174:
2169:
2168:
2167:
2157:
2152:
2147:
2142:
2141:
2140:
2130:
2124:
2122:
2116:
2115:
2113:
2112:
2107:
2102:
2097:
2092:
2087:
2082:
2081:
2080:
2075:
2070:
2068:Web Encryption
2060:
2055:
2050:
2044:
2042:
2040:Human readable
2036:
2035:
2027:
2026:
2019:
2012:
2004:
1998:
1997:
1992:
1987:
1982:
1954:
1953:External links
1951:
1950:
1949:
1930:
1911:
1908:
1905:
1904:
1888:
1872:
1847:
1825:
1799:
1772:
1750:
1728:
1704:
1694:Hungry Minds.
1660:
1627:
1593:
1571:
1556:
1537:
1536:
1534:
1531:
1530:
1529:
1524:
1517:
1514:
1513:
1512:
1505:
1499:
1496:
1483:
1480:
1407:implementation
1402:
1399:
1355:
1315:string parsing
1257:
1254:
1253:
1252:
1245:
1244:
1241:transliterated
1237:
1234:
1210:
1209:
1184:
1170:
1099:. Like in all
1047:
1044:
1031:
1028:
956:caret notation
952:curly brackets
946:(delimited by
940:round brackets
873:
870:
867:
866:
863:
857:
853:
852:
849:
843:
839:
838:
835:
829:
825:
824:
818:
805:
797:
796:
787:
781:
777:
776:
767:
761:
757:
756:
751:
745:
744:Parse dialect
741:
740:
737:
731:
727:
726:
723:
717:
713:
712:
709:
706:
627:
624:
610:
596:
582:
579:
577:
574:
573:
572:
562:
561:
560:
554:
548:
542:
526:
494:
491:
450:
447:
445:applications.
437:applications,
409:Lawrence Rosen
381:
346:multi-paradigm
339:cross-platform
292:
291:
290:
289:
275:
274:
264:
263:
259:
258:
240:
239:
235:
234:
223:
219:
218:
215:
209:
208:
204:, 2.101.0 has
198:
192:
191:
189:cross-platform
186:
180:
179:
170:
164:
163:
160:
159:
146:
144:
138:
137:
124:
122:
120:Stable release
116:
115:
112:
111:
98:
94:
93:
90:
84:
83:
78:
72:
71:
50:
44:
43:
26:
9:
6:
4:
3:
2:
2320:
2309:
2306:
2304:
2301:
2299:
2296:
2294:
2291:
2289:
2286:
2284:
2281:
2279:
2276:
2274:
2271:
2269:
2266:
2264:
2261:
2259:
2256:
2254:
2251:
2250:
2248:
2235:
2230:
2224:
2221:
2219:
2216:
2214:
2211:
2208:
2205:
2203:
2200:
2198:
2195:
2193:
2192:Property list
2190:
2188:
2185:
2183:
2180:
2178:
2175:
2173:
2170:
2166:
2163:
2162:
2161:
2158:
2156:
2153:
2151:
2148:
2146:
2143:
2139:
2136:
2135:
2134:
2131:
2129:
2126:
2125:
2123:
2121:
2117:
2111:
2108:
2106:
2103:
2101:
2098:
2096:
2093:
2091:
2088:
2086:
2085:Property list
2083:
2079:
2078:Web Signature
2076:
2074:
2071:
2069:
2066:
2065:
2064:
2061:
2059:
2056:
2054:
2051:
2049:
2046:
2045:
2043:
2041:
2037:
2032:
2031:Data exchange
2025:
2020:
2018:
2013:
2011:
2006:
2005:
2002:
1996:
1993:
1991:
1988:
1986:
1983:
1981:
1977:
1972:
1968:
1967:
1962:
1957:
1956:
1946:
1942:
1941:
1936:
1931:
1927:
1923:
1919:
1914:
1913:
1902:
1898:
1892:
1886:
1882:
1876:
1861:
1857:
1851:
1840:September 16,
1836:
1829:
1813:
1809:
1803:
1796:
1795:
1783:
1776:
1760:
1754:
1746:
1742:
1735:
1733:
1725:
1724:2-212-11017-0
1721:
1717:
1711:
1709:
1701:
1700:0-7645-0745-1
1697:
1693:
1687:
1685:
1683:
1681:
1679:
1677:
1675:
1673:
1671:
1669:
1667:
1665:
1658:
1654:
1651:
1647:
1646:
1645:The JSON Saga
1641:
1636:
1634:
1632:
1624:
1623:0-07-212279-X
1620:
1616:
1610:
1608:
1606:
1604:
1602:
1600:
1598:
1581:
1575:
1569:
1565:
1560:
1554:
1553:
1545:
1543:
1538:
1528:
1525:
1523:
1520:
1519:
1510:
1506:
1503:
1500:
1497:
1494:
1490:
1486:
1485:
1479:
1477:
1473:
1472:Rebol/Command
1469:
1465:
1461:
1457:
1455:
1451:
1447:
1442:
1440:
1437:editions are
1436:
1432:
1428:
1424:
1420:
1416:
1412:
1408:
1353:
1351:
1347:
1343:
1339:
1335:
1330:
1328:
1327:Block parsing
1324:
1316:
1307:
1305:
1301:
1297:
1293:
1292:parse dialect
1289:
1286:. Unlike the
1285:
1281:
1277:
1276:parse dialect
1273:
1269:
1268:at run time.
1267:
1250:
1249:
1248:
1242:
1238:
1235:
1232:
1231:
1230:
1227:
1225:
1214:
1208:
1182:
1180:
1173:
1169:
1167:
1163:
1159:
1150:
1143:
1129:
1125:
1120:
1118:
1114:
1110:
1102:
1098:
1095:
1090:
1088:
1084:
1080:
1076:
1072:
1064:
1059:
1057:
1043:
1041:
1037:
1027:
1025:
1021:
1017:
1007:
1003:
999:
995:
991:
990:scalar values
986:
984:
980:
976:
975:s-expressions
972:
969:
965:
961:
957:
953:
949:
948:double quotes
945:
941:
937:
933:
929:
925:
921:
917:
913:
909:
905:
900:
898:
894:
889:
887:
883:
879:
864:
858:
855:
854:
850:
844:
841:
840:
836:
830:
828:Draw dialect
827:
826:
823:
819:
806:
799:
798:
795:
791:
788:
782:
779:
778:
775:
771:
768:
762:
759:
758:
755:
752:
746:
743:
742:
738:
732:
729:
728:
724:
718:
715:
714:
710:
707:
705:Dialect name
704:
703:
700:
697:
695:
691:
686:
681:
677:
673:
668:
663:
658:
654:
649:
643:
641:
637:
633:
623:
621:
608:
594:
592:
588:
570:
566:
563:
558:
555:
552:
549:
546:
543:
540:
536:
535:REBOL/Command
533:
532:
530:
527:
524:
523:
522:
520:
516:
512:
508:
504:
500:
490:
488:
484:
480:
476:
472:
468:
464:
460:
456:
446:
444:
440:
436:
432:
428:
424:
421:
416:
414:
410:
406:
401:
399:
395:
391:
380:
376:
374:
370:
366:
362:
358:
354:
350:
347:
343:
340:
336:
332:
331:
322:
298:
287:
283:
279:
278:
276:
273:
269:
265:
260:
257:
253:
249:
245:
241:
238:Influenced by
236:
232:
224:
220:
216:
214:
210:
207:
203:
199:
197:
193:
190:
187:
185:
181:
178:
174:
171:
169:
165:
161:
145:
143:
139:
123:
121:
117:
113:
99:
95:
91:
89:
85:
82:
79:
77:
73:
70:
66:
62:
58:
57:data exchange
54:
51:
49:
45:
41:
36:
30:
19:
2094:
1964:
1945:the original
1938:
1926:the original
1921:
1891:
1875:
1863:. Retrieved
1859:
1850:
1838:. Retrieved
1828:
1816:. Retrieved
1812:the original
1802:
1793:
1792:
1785:. Retrieved
1775:
1763:. Retrieved
1753:
1715:
1691:
1650:jsonsaga.ppt
1643:
1614:
1584:. Retrieved
1574:
1559:
1549:
1475:
1471:
1459:
1458:
1449:
1445:
1443:
1434:
1430:
1426:
1422:
1418:
1414:
1410:
1404:
1345:
1341:
1331:
1326:
1314:
1308:
1303:
1299:
1296:nonterminals
1291:
1287:
1283:
1279:
1275:
1271:
1270:
1265:
1259:
1246:
1228:
1217:
1202:
1176:
1164:using infix
1151:
1144:
1121:
1091:
1086:
1074:
1062:
1060:
1049:
1039:
1038:to specific
1033:
1018:
987:
923:
912:declarations
907:
901:
896:
892:
890:
875:
772:definition;
739:programming
698:
684:
679:
666:
661:
656:
652:
647:
644:
635:
629:
617:
606:
586:
584:
564:
556:
550:
544:
534:
528:
496:
486:
482:
478:
474:
470:
466:
462:
458:
454:
452:
423:applications
417:
402:
388:
378:
351:designed by
334:
296:
295:
288:at Wikibooks
29:
2187:MessagePack
2182:FlatBuffers
2172:Cap'n Proto
1959:‹ The
1897:Red project
1818:December 2,
1765:January 23,
1586:January 23,
1468:GUI widgets
1452:2.7.8, the
1350:PEG example
1211:print read
1042:functions.
920:expressions
886:indentation
730:Do dialect
640:interpreted
581:Ease of use
569:interpreter
431:server-side
405:proprietary
2247:Categories
1940:Web Review
1922:LinuxWorld
1787:August 14,
1718:Eyrolles.
1533:References
1460:Rebol/View
1450:Rebol/View
1446:Rebol/Core
1323:characters
1288:do dialect
1280:do dialect
1179:precedence
1149:function.
1109:assignment
1087:do dialect
1079:expression
1063:do dialect
1006:whitespace
1002:characters
998:apostrophe
983:homoiconic
916:statements
820:specifies
662:do dialect
545:REBOL/View
461:xpression
443:multimedia
394:JavaScript
361:dialecting
262:Influenced
69:imperative
61:functional
2073:Web Token
1865:March 14,
1564:R3 source
1476:Rebol/SDK
1474:2.7.8 or
1462:provides
1166:operators
1097:variables
1040:evaluator
1036:arguments
1030:Semantics
1024:semicolon
966:. Unlike
932:delimited
882:free-form
862:function
848:function
834:function
817:function
786:function
766:function
750:function
736:function
722:function
651:. In the
634:, called
557:REBOL/SDK
551:REBOL/IOS
449:Etymology
439:utilities
365:optimized
363:: small,
200:2.7.8 is
88:Developer
2218:uuencode
1961:template
1885:Freecode
1653:Archived
1516:See also
1429:). Both
1419:/Command
1366:Product:
1342:sequence
1300:sequence
1020:Comments
810:function
770:function
711:Purpose
676:function
636:dialects
626:Dialects
457:elative
435:database
420:Internet
382:—
217:.r, .reb
48:Paradigm
2058:EDIFACT
2033:formats
1963:below (
1552:license
1376:Product
1360:charset
1336:or the
1174:-2 + 3
1128:control
1056:console
944:strings
815:display
804:RebGUI
690:keyword
565:Rebol 3
529:REBOL 2
499:AmigaOS
493:History
427:client-
337:) is a
222:Website
196:License
173:dynamic
154:2012-12
152: (
132:2011-01
130: (
105: (
2207:Cyphal
2202:Thrift
2165:UBJSON
2155:Base64
2150:Base32
2120:Binary
1980:Curlie
1966:Curlie
1901:GitHub
1722:
1698:
1621:
1568:GitHub
1482:Legacy
1386:parse/
1363:Value:
1357:Digit:
1346:choice
1317:level
1304:choice
1290:, the
1136:either
1085:, the
971:blocks
906:, the
878:syntax
876:Rebol
872:Syntax
860:secure
808:layout
790:object
685:return
667:return
657:return
648:return
630:Rebol
601:layout
576:Design
517:, and
469:bject
441:, and
425:(both
344:and a
229:.rebol
177:strong
2133:ASN.1
2095:Rebol
1976:REBOL
1502:Boron
1435:/View
1431:/Core
1415:/View
1411:/Core
1380:Expr:
1369:Value
1319:parse
1311:parse
1262:parse
1256:parse
1220:print
1083:ALGOL
1014:a + b
994:colon
968:ALGOL
748:parse
688:is a
670:is a
511:Forth
487:Rebol
483:REBOL
465:ased
335:REBOL
297:Rebol
248:Forth
33:Rebol
18:REBOL
2223:yEnc
2209:DSDL
2177:CBOR
2160:BSON
2145:Avro
2110:YAML
2100:TOML
2063:JSON
2048:Atom
1895:The
1879:The
1867:2017
1842:2016
1820:2013
1789:2014
1767:2014
1720:ISBN
1696:ISBN
1619:ISBN
1588:2014
1507:The
1433:and
1427:/IOS
1425:and
1423:/SDK
1395:Expr
1373:Sum:
1344:and
1260:The
1152:The
1147:copy
1140:loop
1061:The
979:Lisp
960:URLs
832:view
784:make
764:make
720:load
612:view
598:view
539:ODBC
519:Self
515:Logo
507:Lisp
479:Lisp
475:LISP
429:and
398:JSON
268:JSON
256:Logo
252:Lisp
244:Self
231:.com
107:1997
100:1997
2213:XDR
2138:SMI
2128:AMF
2105:XML
2090:RDF
2053:CSV
1978:at
1899:at
1883:at
1566:at
1389:all
1383:Sum
1378:]]
1371:]]
1306:).
1172:abs
1010:a+b
977:in
950:or
942:),
934:by
880:is
477:by
433:),
330:-əl
328:REB
272:Red
227:www
2249::
1937:.
1920:.
1858:.
1791:.
1743:.
1731:^
1707:^
1663:^
1648:,
1642:.
1630:^
1596:^
1541:^
1441:.
1421:,
1417:,
1413:,
1205:Do
1154:do
1138:,
1134:,
1132:if
1119:.
1105:do
1067:do
1058:.
1052:do
1046:do
985:.
918:,
914:,
846:do
812:or
802:or
734:do
682:,
664:,
614:]
603:]
521:.
513:,
509:,
489:.
375::
367:,
318:əl
270:,
254:,
250:,
246:,
184:OS
175:,
67:,
63:,
59:,
55:,
2023:e
2016:t
2009:v
1869:.
1844:.
1822:.
1769:.
1747:.
1726:.
1702:.
1625:.
1590:.
1495:.
1198:4
1195:*
1192:3
1189:+
1186:2
904:C
471:L
467:O
463:B
459:E
455:R
321:/
315:b
312:ɛ
309:r
306:ˈ
303:/
299:(
156:)
134:)
109:)
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.