Rebol

Rebol
Paradigmlanguage oriented programming, data exchange, functional, prototype-based, imperative
Designed byCarl Sassenrath
DeveloperREBOL Technologies
First appeared1997; 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)
Typing disciplinedynamic, strong
OScross-platform
License2.7.8 is Freely redistributable software,[1] 2.101.0 has Apache 2.0 license[2]
Filename extensions.r, .reb[3]
Websitewww.rebol.com
Influenced by
Self, Forth, Lisp, Logo[4]
Influenced
JSON,[5] Red

Rebol (/ˈrɛbəl/ REB-əl; historically REBOL) is a cross-platform[6] data exchange language and a multi-paradigm dynamic programming language designed by Carl Sassenrath for network communications and distributed computing. It introduces the concept of dialecting: small, optimized, domain-specific languages for code and data,[6][7] which is also the most notable property of the language according to its designer Carl Sassenrath:

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]

Douglas Crockford, known for his involvement in the development of JavaScript, 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 JSON's influences.[5]

Originally, the language and its official implementation were proprietary and closed source, developed by REBOL Technologies. Following discussion with Lawrence Rosen,[9] the Rebol version 3 interpreter was released under the Apache 2.0 license on December 12, 2012.[10] Older versions are only available in binary form, and no source release for them is planned.

Rebol has been used to program Internet applications (both client- and server-side), database applications, utilities, and multimedia applications.[6]

  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. ^ Cite error: The named reference OG was invoked but never defined (see the help page).
  5. ^ a b Crockford, Douglas. The JSON Saga, jsonsaga.ppt Archived October 4, 2012, at the Wayback Machine
  6. ^ a b c Roberts, Ralph (2000). REBOL for Dummies. Hungry Minds. ISBN 0-7645-0745-1.
  7. ^ Auverlot, Olivier (2001). Rebol Programmation. Eyrolles. ISBN 2-212-11017-0.
  8. ^ 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.