As a programming language, Red embraces nearly all paradigms:
- Imperative: Providing everything needed for controlling code execution and error-handling (see Chapter 4, Code Controlling Structures and Chapter 5, Working with Series and Blocks)
- Functional: With functions as first class values (see Chapter 6, Using Functions and Objects)
- Object-oriented: Complete with inheritance, but not class-based (see Chapter 6, Using Functions and Objects)
- Concurrency: With async task support and an actor model (from v 0.9.0)
- Symbolic: Being able to manipulate its own code as if it was plain data (all chapters)
- Reactive: Included in the GUI (Graphical User Interface) system (see Chapter 9, Composing Visual Interfaces and Chapter 10 ...