📖
Rede Language Design
  • Overview
    • Introduction
    • Scope
    • Terms and Definitions
  • Annexes
    • Annex A - Complete Grammar
    • Annex B - Symbols and Keywords
    • Annex C - Code Examples
      • Behaviors
      • Comments
      • Crashes
      • Data Types
        • Built-in Types
          • Context Collections
            • Buckets
            • Compositions
              • Registrations
              • Deregistrations
            • Operables
          • Primitives
          • Value Collections
            • Arrays
            • Dictionaries
            • Lists
            • Sets
            • Tuples
        • Custom Types
      • Evaluation
      • Mappings
      • Meta
      • Operations
        • Groups
      • Patterns
    • Annex D - Program Examples
      • Hello World
      • FizzBuzz
      • Fibonacci
      • Shape Drawing
      • Deserialization
      • Serialization
Powered by GitBook
On this page
  1. Overview

Introduction

This specification is intended to describe the grammar and design intentions of the Rede programming language. The language is the first to embrace the concepts of the Contextual Programming paradigm invented by Lucas Stertz. In doing so, the design of the language emphasizes data-driven principles as well as compositions of independent data and logic.

Rede is intended to be a modern, scripting and application development, contextual programming language specializing in dynamic systems of reactive logic with automated parallelism.

The name 'Rede' stands for Reactive Data Evaluation and is pronounced the same as 'reed' and 'read'.

The following goals guide the design of Rede:

  • Rede code should be readable, striving to be close to natural language when reasonable. Programmers should relate to Rede through its similarity to a spoken and written language.

  • Rede code should be structured to encourage programming from the mindset of 'when'. This mindset is the embodiment of Contextual Programming philosophies.

  • Rede code should result in fast, secure, dynamic applications through effective data management, automated threading, the lack of a 'null' concept, composition-over-inheritance, reduced coupling between logic, and inherent support for dynamic systems.

  • The language should be flexible, capable of being used either as a scripting language or for standalone application development.

  • The language should be able to be internationalized, having its concepts adaptable to various natural languages.

NextScope

Last updated 2 years ago