The Ceramic Programming Language Reference
Version 0.1
Conventions
This reference uses two kinds of code blocks:
- Grammar blocks: formal BNF syntax. Regular expressions use
/slashes/with Perl/xsyntax (whitespace inside is insignificant). Literal strings use"quotation marks". - Code blocks: examples of Ceramic source code.
Sections
| Section | Contents |
|---|---|
| Tokenization | Source encoding, whitespace, comments, literals |
| Compilation Strategy | Whole-program compilation, compile-time evaluation, pattern matching |
| Modules & Source Layout | Modules, imports, symbols, static strings |
| Type Definitions | Records, variants, enumerations, lambda types |
| Function Definitions | Simple and overloaded functions, arguments, external functions, global values |
| Statements | Blocks, assignment, control flow, loops, exceptions |
| Expressions | Operators, precedence, lambdas, multiple values |
| Grammar Reference | Full BNF grammar, organized by chapter |