# REBOL

> programming language designed by Carl Sassenrath

**Wikidata**: [Q1359171](https://www.wikidata.org/wiki/Q1359171)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Rebol)  
**Source**: https://4ort.xyz/entity/rebol

## Summary
REBOL (Relative Expression-Based Object Language) is a multi-paradigm programming language designed by Carl Sassenrath and introduced in 1997. It emphasizes language-oriented programming and supports functional, prototype-based, and imperative styles, with dynamic and strong typing.

## Key Facts
- Designed by Carl Sassenrath.  
- Inception (first introduced): 1997.  
- Instance of: multi-paradigm programming language, programming language, and software.  
- Primary programming paradigms: language-oriented programming, functional programming, prototype-based programming, and imperative programming.  
- Typing discipline: dynamic typing and strong typing.  
- Common file extension: .reb.  
- Notable versions: 2.7.8 (dated 2011) and 2.101.0 (preferred; dated 2012-12-12).  
- Licenses: Apache Software License 2.0 and Apache License (as recorded for project repositories).  
- Official website: http://www.rebol.com/ (domain: rebol.com).  
- Source code repositories: https://github.com/rebol/rebol and https://github.com/rebol/r3.  
- Influenced by: Self, Forth, Lisp, and Logo.  
- Logo image: https://commons.wikimedia.org/wiki/Special:FilePath/Rebol_logo.png

## FAQs
### Q: What is REBOL?
A: REBOL is a multi-paradigm programming language (Relative Expression-Based Object Language) created by Carl Sassenrath and introduced in 1997, designed to support language-oriented programming alongside functional, prototype-based, and imperative styles.

### Q: Who created REBOL and when was it introduced?
A: REBOL was designed by Carl Sassenrath and its inception is recorded as 1997.

### Q: Under what license is REBOL available?
A: REBOL projects are recorded under the Apache Software License 2.0 and related Apache licenses in its source repositories.

### Q: What file extension and file formats does REBOL use?
A: REBOL source files commonly use the .reb extension and it uses a REBOL file format for readable and writable file formats.

### Q: Where can I find the REBOL source code or official site?
A: The official website is http://www.rebol.com/ and source code repositories are hosted at https://github.com/rebol/rebol and https://github.com/rebol/r3.

## Why It Matters
REBOL occupies a specific niche in programming-language design by prioritizing language-oriented programming—enabling programs to be expressed with domain-specific syntaxes and concise data-expression idioms. Its multi-paradigm approach (functional, prototype-based, and imperative) and emphasis on expressive data representations make it suitable for rapid scripting, DSL creation, and tasks where concise, readable data exchange is important. The language’s dynamic and strong typing, together with its REBOL file format and .reb extension, provide flexibility for both scripting and higher-level application logic. REBOL’s lineage and design were influenced by languages such as Self, Forth, Lisp, and Logo, reflecting a deliberate combination of ideas about extensibility, minimal syntax, and expressive power. The availability of source code on public repositories and licensing under Apache variants further supports reuse and experimentation by developers and researchers interested in language design and compact DSLs.

## Notable For
- Being a multi-paradigm language explicitly oriented toward language-oriented programming and concise data expressions.  
- Influences drawn from Self, Forth, Lisp, and Logo, reflecting a hybrid design philosophy.  
- Use of a dedicated readable/writable REBOL file format and the .reb file extension.  
- Public source repositories on GitHub (rebol and r3) and distribution under Apache-style licenses.  
- Distinct version history with recorded releases such as 2.7.8 (2011) and preferred 2.101.0 (2012-12-12).

## Body

### Overview
- Name: REBOL (Relative Expression-Based Object Language), also written as Rebol or rebol.  
- Designer: Carl Sassenrath (computer scientist/engineer).  
- Inception: 1997.  
- Instance types: multi-paradigm programming language, programming language, software.  
- Logo: available at https://commons.wikimedia.org/wiki/Special:FilePath/Rebol_logo.png.

### Language Paradigms and Influences
- Primary paradigms:
  - Language-oriented programming.  
  - Functional programming.  
  - Prototype-based programming.  
  - Imperative programming.  
- Influenced by: Self, Forth, Lisp, and Logo.

### Typing and File Formats
- Typing discipline: dynamic typing and strong typing (both recorded as typing characteristics).  
- Readable and writable formats: uses a REBOL file format for input/output.  
- File extension: .reb.

### Versions and Releases
- Documented versions:
  - 2.7.8 — qualifier: 2011 (recorded date: 2011-01-00).  
  - 2.101.0 — preferred version with qualifier date 2012-12-12.  
- Versioning information is recorded in project metadata and repository references.

### Licensing and Source Code
- Licenses recorded: Apache Software License 2.0 and Apache License entries tied to repository records.  
- Source repositories:
  - https://github.com/rebol/rebol  
  - https://github.com/rebol/r3

### Distribution and Identifiers
- Official website/domain: http://www.rebol.com/ (domain rebol.com).  
- Open Hub ID: rebol.  
- Gentoo package name: dev-lang/rebol.  
- Freebase ID: /m/06kw5.  
- Library of Congress authority ID: sh2001004704.  
- Bibliothèque nationale de France ID: 137757382.  
- National Library of Israel ID: 987007537348205171.  
- Wikipedia title: Rebol (languages: ar, ca, cs, de, en, fa, fr, he, it, ja).

### Influence and Use
- The language’s design draws on and was influenced by Self, Forth, Lisp, and Logo, indicating a mix of prototype, stack-oriented, functional and educational language ideas.  
- It is classified and indexed as a programming language suitable for language-oriented programming tasks.

## Schema Markup
```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "REBOL",
  "description": "REBOL (Relative Expression-Based Object Language) is a multi-paradigm programming language designed by Carl Sassenrath and introduced in 1997, emphasizing language-oriented programming.",
  "url": "http://www.rebol.com/",
  "sameAs": [
    "https://www.wikidata.org/wiki/Q328",
    "https://en.wikipedia.org/wiki/Rebol"
  ],
  "additionalType": "multi-paradigm programming language"
}

## References

1. [Source](https://api.github.com/repos/rebol/r3)
2. [The rebol Open Source Project on Open Hub: Languages Page. Open Hub](https://www.openhub.net/p/rebol/analyses/latest/languages_summary)
3. Freebase Data Dumps. 2013
4. [Source](https://api.github.com/repos/rebol/rebol)
5. Portage
6. Quora
7. National Library of Israel
8. [Internet Domains Wikibase](https://domains.wikibase.cloud/entity/Q66995)