- treehugger.scala
- 1. I heard you like code, so...
- 1.1. Compilers 101
- 1.2. Turning the table
- 1.3. Symbols, Types, and Trees
- 2. treehugger DSL
- 2.1. Forest
- 2.2. Literals and Comments
- 2.2.1. Literals
- 2.2.2. Comments
- 2.3. Basic Declarations and Definitions
- 2.3.1. Values
- 2.3.2. Variables
- 2.3.3. Type members
- 2.3.4. Functions
- 2.3.5. Import Clauses
- 2.4. Classes and Objects
- 2.4.1. Classes
- 2.4.2. Modifiers
- 2.4.3. Polymorphic Classes
- 2.4.4. Case Classes
- 2.4.5. Traits
- 2.4.6. Object Definitions
- 2.5. Expressions
- 2.5.1. Basic Expressions
- 2.5.2. Function Applications
- 2.5.3. Type Applications
- 2.5.4. Tuples and Parentheses
- 2.5.5. Instance Creation Expressions
- 2.5.6. Blocks
- 2.5.7. Prefix, Infix, and Postfix Operations
- 2.5.8. Types, Annotations, and Assignments
- 2.5.9. If Expressions
- 2.5.10. While loops
- 2.5.11. For expressions
- 2.5.12. Return Expressions and Exception Handling
- 2.5.13. Anonymous Functions
- 2.5.14. String Interpolation
- 2.5.15. Type-Level Expressions
- 2.6. Implicits
- 2.7. Pattern Matching
- 2.7.1. Patterns
- 2.7.2. Pattern Matching Expressions
- 2.7.3. Case Sequence Functions
- 2.7.4. Pattern Values
- 2.8. Top-Level Definitions
- 2.8.1. Compilation Units
- 2.8.2. Packaging
- 2.8.3. Package Objects
- 2.9. Annotations
- 2.10. Standard Library
- 2.10.1. Root Class
- 2.10.2. Value Class Operators
- 2.10.3. Collection Class Operators
- 2.10.4. Type Constructors