# Completed Features
## v0.2.1 (2025-01-16)
### Lambda Expressions ✅
- **Lambda Expression Parsing**
- Modified: `src/frontend/parser.rs`, `src/frontend/ast.rs`
- Parse `|params| body` syntax for anonymous functions
- Support empty params `||`, single `|x|`, and multiple `|x, y|`
- Support typed parameters `|x: i32, y: f64|`
- Handle `||` token ambiguity (OrOr vs empty lambda)
- Completed: 2025-01-16
- **Lambda Type Inference**
- Modified: `src/middleend/infer.rs`
- Extended Algorithm W for lambda expressions
- Automatic parameter type inference
- Function type construction for lambdas
- Completed: 2025-01-16
- **Lambda Transpilation**
- Modified: `src/backend/transpiler.rs`
- Transpile to Rust closures with correct syntax
- Preserve parameter names
- Type inference delegation to rustc
- Completed: 2025-01-16
- **Lambda Test Coverage**
- Added comprehensive tests in parser, transpiler, and type inference
- Test empty params, single param, multiple params, typed params
- Test lambda in let bindings and function calls
- All 172 tests passing
- Completed: 2025-01-16
## v0.2.0 (2025-01-16)
### Type System Implementation ✅
- **Type Inference Engine (Algorithm W)**
- Created: `src/middleend/infer.rs`
- Complete Hindley-Milner type inference
- Automatic type inference for all expressions
- Support for polymorphic types and type schemes
- Completed: 2025-01-16
- **Unification Engine**
- Created: `src/middleend/unify.rs`
- Unification with occurs check
- Prevents infinite types
- Proper error handling for type mismatches
- Completed: 2025-01-16
- **Type Environment**
- Created: `src/middleend/environment.rs`
- Binding and scheme management
- Standard library functions included
- Generalization and instantiation support
- Completed: 2025-01-16
- **Type Annotations Parsing**
- Modified: `src/frontend/parser.rs`
- Parse `: Type` and `-> Type` annotations
- Optional type annotations (defaults to 'Any')
- Gradual typing support
- Completed: 2025-01-16
### Language Features ✅
- **Method Call Syntax**
- Modified: `src/frontend/parser.rs`, `src/backend/transpiler.rs`
- Parse `x.method(args)` with dot operator
- Method chaining support
- Type inference for built-in methods (len, push, pop, chars)
- Transpiles to Rust method calls
- Completed: 2025-01-16
- **String Interpolation**
- Modified: `src/backend/transpiler.rs`
- Support for `{variable}` in strings
- Transpiles to Rust's `format!` macro
- Works with println! and other formatting functions
- Completed: 2025-01-15
### Parser Improvements ✅
- **Multi-statement Programs**
- Modified: `src/frontend/parser.rs`
- Proper block handling
- Optional semicolons
- Completed: 2025-01-15
- **Import System**
- Modified: `src/frontend/parser.rs`
- Complex paths with `::`
- Braced imports like `use std::io::{Read, Write}`
- Completed: 2025-01-15
- **Expression vs Statement Handling**
- Modified: `src/runtime/repl.rs`
- REPL correctly evaluates expressions vs statements
- Proper result printing for expressions
- Completed: 2025-01-15
### Documentation ✅
- **README Updates**
- Updated feature list
- Added implementation status section
- Updated examples
- Completed: 2025-01-16
- **CHANGELOG**
- Created comprehensive v0.2.0 release notes
- Documented all features and improvements
- Completed: 2025-01-16
- **API Documentation**
- Updated `src/lib.rs` with new examples
- Added type inference examples
- Added method call examples
- Completed: 2025-01-16
- **Example Files**
- Created `examples/type_inference.ruchy`
- Created `examples/method_calls.ruchy`
- Completed: 2025-01-16
## v0.1.0 (2025-01-15)
### Core Language ✅
- Basic lexer and parser
- AST representation
- Transpilation to Rust
- Interactive REPL
- Pipeline operators
- Pattern matching (basic)
- For loops and ranges
- List literals
- If/else expressions
- Let bindings
- Function definitions
### Quality ✅
- Zero SATD policy established
- PMAT integration
- 146 initial tests
- Property-based testing framework
- Benchmark suite