About this document
The purpose of this document is to systematically describe the lexical/syntactic and semantic rules of the Red programming language. The approach is largely complementary to the Red Core Language documentation found in this Gitbook.
The document is work in progress, and remarks about its correctness and completeness are invited as Issues. Concrete suggestions for improvement may be offered in the form of Pull requests (PRs).
In as much as feasible, and in order to avoid duplication, existing pieces of official documentation will be referred to. These are:
Usage information for the toolchain: README
Wiki-style general documentation: Red Wiki
Red/System: Red/System Language Specification
Red Programming Language Documentation (Gitbook), notably:
Overview of value conversions: Conversion matrix
Parse documentation (blog article from 2013): Introducing Parse
Handling of NaNs, INFs, and signed zeros: in Red Wiki under Reference
Because of the wealth of built-in functions that Red makes available, combined with the numerous optional facilities ("refinements") that these functions have, it is not possible to give an exhaustive treatment of Red’s functionality. Red allows quite detailed information about a function’s operation to be documented within the function specification, and in order to be able to use any function optimally this can be consulted interactively (help-facilities).
This document is not intended to be used in order to learn the language (tutorial); for that purpose sufficient materials can be found using the Red Wiki.