Table of contents Introduction Tools The Dyvil Compiler The REPL The Dyvil Property Format Language Reference Lexical Syntax Comments Number Literals String Literals Other Literals Identifiers Keywords Other Symbols Headers Package Declaration Header Files Header Declarations Import Declarations Type Aliases Operators Precedence Associativity Custom Operators Ternary Operators Circumfix Operators Implementation Types Basic Types Object Types Generic Types Variance Special Types Type Inference Reference Types Classes Inheritance Traits and Interfaces Case Classes Fields Methods Properties Generic Type Arguments Parameters Constructors Initializer Blocks Expressions Basic Expressions Operators Object and Identity Equality Casts and Type Checks The Class and Type Operators String Interpolation Method Calls Apply and Update Subscript Constructors Initializers Anonymous Classes Assignments Compound Assignments Tuples Arrays Maps Match Expressions Lambda Expressions Statements Statement Blocks If-Else For and For-Each While Control Flow Try and Throw Synchronized Blocks Patterns Literal Patterns Type Check Patterns Binding Patterns Case Class Patterns Tuple Patterns Pattern Bounds Exhaustive Patterns Extensions Standard Library DyvilDoc Markdown Syntax HTML Integration Tags Grammar Tokens Top-Level Declarations Types Expressions Statements Property Format