Runtime: add method dispatch for array/string/dict/number (.len, .push, .pop, .keys, .values, .has, .toInt)
Stdlib: delete global len/push/pop/keys/values/has
Tests/docs/examples: migrate to method style; add tests/test_builtin_methods_style.bob
All tests pass
Breaking: global len/push/pop/keys/values/has removed; use methods instead
Parser/AST: add class/extends/extension/super, field initializers
Runtime: shared methods with this injection; classParents/classTemplates; super resolution; ownerClass/currentClass; extension lookup order
Builtins: method dispatch for array/string/dict/number (.len/.push/.pop/.keys/.values/.has/.toInt); remove global forms
Tests/docs/examples: add/refresh for classes, inheritance, super, polymorphism; migrate to method style; all tests pass
VS Code extension: update grammar/readme/snippets for new features
Major additions and improvements across the Bob language ecosystem:
Core Language Features:
- Add comprehensive dictionary support with full CRUD operations
- Implement built-in functions: keys(), values(), has() for dictionaries
- Add string multiplication operator (string * number)
- Enhance error reporting with detailed context and call stacks
- Add ternary operator support (condition ? true_expr : false_expr)
- Implement do-while loops with break/continue support
- Add array increment/decrement operators (++, --)
- Add cross-type comparison operators with proper type coercion
- Implement toInt() function for float-to-integer conversion
- Add float array index auto-truncation (like JavaScript/Lua)
Code Quality & Linter Fixes:
- Remove all "using namespace std;" statements (best practice)
- Add proper std:: prefixes throughout codebase
- Fix const correctness in helper functions
- Resolve class/struct declaration mismatches
- Fix sign comparison warnings in array indexing
- Remove unused lambda captures in built-in functions
- Fix brace initialization warnings in parser
Documentation & Tooling:
- Significantly expand BOB_LANGUAGE_REFERENCE.md with new features
- Update VS Code extension with enhanced syntax highlighting
- Add comprehensive code snippets for new language features
- Update version information and package metadata
Test Suite:
- Add extensive dictionary functionality tests
- Add tests for new operators and built-in functions
- Add comprehensive copy behavior tests (by value vs by reference)
- Add performance and edge case testing
Architecture Improvements:
- Enhance Value system with proper move semantics
- Improve memory management with shared_ptr for complex types
- Add trampoline-based tail call optimization
- Implement proper error context propagation
This represents a major milestone in Bob language development with production-ready dictionary support, comprehensive testing, and significantly improved code quality.
- Add while, for, and do-while loops with break/continue
- Implement assignment statements (prevents if(x=10) bugs)
- Keep assignment expressions only for for-loop clauses
- Fix critical memory management bug (dangling pointers in cleanup)
- Add automatic memory cleanup with conservative reference counting
- Consolidate documentation into single reference file
- Add comprehensive test coverage for all loop types and edge cases
- VSCode extension for bob highlighting and snippets