This document describes semantic core and syntax of the language. It includes grammar rules, reserved keywords, predefined types, functions, data and execution model, formatting options, minimum set of functionality and high-level language overview. This specification should be sufficient developer to implement its compiler or interpreter for a given platform.
Work in progress..
- Introduction (high-level overview)
- Semantic review (intro to semantic core)
- Limits
- Features review (minimal set of features)
- Syntax review (intro to physical representation)
- How to read Specification
- Semantic review (intro to semantic core)
- Mental model
- Turing, stack machine & CPU
- Programming paradigms
- Types
- static vs dynamic
- build-in vs predefined
- Object, class, unit, container ...
- Function, procedure, method ...
- Encapsulation
- Inheritance and polymorphism
- Interface and protocol
- References and values
- Concurrency
- Exceptions
- Access to intrinsic properties
- Execution model
- Garbage collector
- Tests and verification
- Module, package, file
- Semantic model
- Memory model
- Data model
- Types
- Define, assign, access
- Execution model
- Control flow
- Multiple results
- Variable arguments
- Default values
- Invocation or call
- Evaluation order
- Parallel execution
- Invariants, pre-/post-conditions
- Garbage collector
- Syntax and grammar
- Compilation units
- Lexeme categories
- Types
- Values
- Expressions
- Text
- Expression vs statements
- Definition vs assignments
- Comments
- Separators
- Predefined operators
- Logic operators
- Math operators
- Precedence table
- Implementation
- Architecture
- Recommendations