Goal: Build Sindlish from 40-50% to a fully functional programming language
Current Status: Lexer ✔ | Parser ✔ | Interpreter ✔ | Variables ✔ | If/Else ✔ | Collections ✔ | Methods ✔
Dependencies: None — Start here
| Priority | Task | Effort | Status | Dependencies |
|---|---|---|---|---|
| 🟥 CRITICAL | Improve error reporting (line + column) | Medium | ❌ Not Started | Lexer |
| 🟥 CRITICAL | Add comment support (#) |
Low | ❌ Not Started | Lexer |
| 🟥 CRITICAL | Add float support (12.5) |
Low | ❌ Not Started | Lexer |
| 🟥 CRITICAL | Add boolean literals (sach/koorh) |
Low | ❌ Not Started | Lexer |
| 🟥 CRITICAL | Add null support (khali) |
Low | ❌ Not Started | Lexer |
| 🟠 HIGH | Implement operator precedence system | Medium | ❌ Not Started | Parser |
| 🟠 HIGH | Add parentheses grouping () |
Medium | ❌ Not Started | Parser |
| 🟠 HIGH | Fix expression chaining (x + y - z) |
Medium | ❌ Not Started | Parser |
⏱️ Estimated Time: 1-2 weeks
Exit Criteria: Basic math, strings, booleans work; error messages are helpful
Dependencies: Phase 0
| Priority | Task | Effort | Status | Dependencies |
|---|---|---|---|---|
| 🟥 CRITICAL | Arithmetic operators (+, -, *, /, %, **) | Low | ❌ Not Started | Phase 0 |
| 🟥 CRITICAL | Comparison operators (==, !=, >=, <=) | Low | ❌ Not Started | Phase 0 |
| 🟥 CRITICAL | Logical operators (aen, ya, nah) |
Medium | ❌ Not Started | Phase 0 |
| 🟠 HIGH | Elif support (yawari) |
Low | ❌ Not Started | If/Else |
| 🟠 HIGH | While loops (jistain) |
Medium | ❌ Not Started | Phase 0 + Logical ops |
| 🟠 HIGH | For loops (har) with range |
Medium | ❌ Not Started | Phase 0 + Logical ops |
| 🟠 HIGH | Upgrade arithmetic to Protocol-based dispatch | Medium | ❌ Not Started | Phase 0 |
| 🟠 HIGH | Break statement (tor) |
Low | ❌ Not Started | Loops |
| 🟠 HIGH | Continue statement (halando) |
Low | ❌ Not Started | Loops |
⏱️ Estimated Time: 1-2 weeks
Exit Criteria: Can write loops, complex conditions; math & logic work correctly
Dependencies: Phase 1
| Priority | Task | Effort | Status | Dependencies |
|---|---|---|---|---|
| 🟥 CRITICAL | Function definition parser (kaam) |
High | ❌ Not Started | Phase 1 |
| 🟥 CRITICAL | Function parameters & arguments | High | ❌ Not Started | Function def |
| 🟥 CRITICAL | Return statement (wapas) |
Medium | ❌ Not Started | Function def |
| 🟥 CRITICAL | Local scope creation | High | ❌ Not Started | Function def |
| 🟥 CRITICAL | Implement LEGB Scope Stack | High | ❌ Not Started | Local scope |
| 🟠 HIGH | Default arguments | Medium | ❌ Not Started | Function parameters |
| 🟡 MEDIUM | Recursive functions support | Low | ❌ Not Started | Functions work |
⏱️ Estimated Time: 2-3 weeks
Exit Criteria: Can define and call functions; recursion works; scope is managed correctly
Dependencies: Phase 2
| Priority | Task | Effort | Status | Dependencies |
|---|---|---|---|---|
| 🟥 CRITICAL | Improve likh() with end=, sep= params |
Low | ❌ Not Started | Functions |
| 🟠 HIGH | Input function (puch()) |
Medium | ❌ Not Started | Functions |
| 🟠 HIGH | Type casting functions (int/float/str) | Medium | ❌ Not Started | Phase 2 |
| 🟠 HIGH | Type checking function (qisam) |
Low | ❌ Not Started | Phase 2 |
| 🟠 HIGH | lambi() function (len) |
Low | ✔ Completed | Phase 2 |
| 🟠 HIGH | range() function |
Low | ❌ Not Started | Phase 2 |
| 🟡 MEDIUM | String methods | Low | ✔ Completed | Phase 2 |
| 🟡 MEDIUM | List methods (wadha, kadh, etc.) | Low | ✔ Completed | Phase 2 |
| 🟡 MEDIUM | Dict/Set methods | Low | ✔ Completed | Phase 2 |
⏱️ Estimated Time: 1-2 weeks
Exit Criteria: Core collections are fully functional with native methods
Dependencies: Phase 3
| Priority | Task | Effort | Status | Dependencies |
|---|---|---|---|---|
| 🟥 CRITICAL | INDENT/DEDENT token detection | High | ❌ Not Started | Lexer |
| 🟥 CRITICAL | Block stacking system | High | ❌ Not Started | INDENT/DEDENT |
| 🟥 CRITICAL | Nested block support | High | ❌ Not Started | Block stacking |
| 🟠 HIGH | Custom error types (SyntaxError, NameError, etc) | Medium | ✔ Completed | Phase 3 |
| 🟠 HIGH | Line number + code snippet in errors | Medium | ✔ Completed | Error types |
| 🟠 HIGH | Arrow pointer to error location | Medium | ❌ Not Started | Error reporting |
⏱️ Estimated Time: 2-3 weeks
Exit Criteria: Language feels Pythonic; error messages are professional
Dependencies: Phase 4
| Priority | Task | Effort | Status | Dependencies |
|---|---|---|---|---|
| 🟠 HIGH | Class definition parser (jamaat) |
High | ❌ Not Started | Phase 4 |
| 🟠 HIGH | Constructor & __init__ |
High | ❌ Not Started | Class def |
| 🟠 HIGH | self handling in methods |
High | ❌ Not Started | Constructor |
| 🟠 HIGH | Attributes (.name, .age, etc) |
Medium | ❌ Not Started | self handling |
| 🟥 CRITICAL | C3 Linearization (MRO) | High | ❌ Not Started | Inheritance |
| 🟡 MEDIUM | Instance creation & object methods | Medium | ❌ Not Started | Attributes |
| 🟡 MEDIUM | Inheritance (basic) | High | ❌ Not Started | Classes work |
| 🟡 MEDIUM | Method overriding | Medium | ❌ Not Started | Inheritance |
| 🔵 LOW | Polymorphism (advanced future) | High | ❌ Defer | Inheritance |
⏱️ Estimated Time: 3-4 weeks
Exit Criteria: Can create classes, instantiate objects, use methods
Dependencies: Phase 5
| Priority | Task | Effort | Status | Dependencies |
|---|---|---|---|---|
| 🟠 HIGH | Remove regex-based hacks | Medium | ❌ Not Started | All phases |
| 🟠 HIGH | Full AST-based execution (no exec) |
High | ❌ Not Started | All phases |
| 🟠 HIGH | Comprehensive unit tests | High | ❌ Not Started | All features |
| 🟡 MEDIUM | Modular architecture cleanup | Medium | ❌ Not Started | All phases |
| 🟡 MEDIUM | Code documentation | Low | ❌ Not Started | All phases |
| 🔵 LOW | Performance profiling | Low | ❌ Defer | Later |
⏱️ Estimated Time: 2-3 weeks
Exit Criteria: Clean, well-tested, maintainable codebase
Dependencies: Phase 6 (can start early)
| Priority | Task | Effort | Status | Dependencies |
|---|---|---|---|---|
| 🟡 MEDIUM | CLI tool (sind run file.sind) |
Medium | ❌ Not Started | Core language |
| 🟡 MEDIUM | Debug mode (sind debug file.sind) |
Medium | ❌ Not Started | Execution trace |
| 🟡 MEDIUM | AST visualizer | Medium | ❌ Not Started | Phase 6 |
| 🔵 LOW | Token printer for debugging | Low | ❌ Not Started | Phase 6 |
| 🔵 LOW | Execution trace mode | Low | ❌ Not Started | Phase 6 |
| 🔵 LOW | VS Code extension (syntax highlighting) | High | ❌ Defer | Language complete |
| 🔵 LOW | Transpiler mode (Sindlish → Python) | High | ❌ Defer | Language complete |
⏱️ Estimated Time: 2-3 weeks (can overlap with Phase 6)
Exit Criteria: User-friendly tooling; community can use Sindlish easily
Phase 0 (Foundation) ████████████████████ Completed
Phase 1 (Operators/Flow) ████████████████████ Completed
Phase 2 (Functions) ████░░░░░░░░░░░░░░░░ 1-2 weeks [NEXT]
Phase 3 (Stdlib) ████████████░░░░░░░░ 1 week
Phase 4 (Errors/Polish) ██████░░░░░░░░░░░░░░ 2-3 weeks
Phase 5 (OOP) ████████░░░░░░░░░░░░ 3-4 weeks
Phase 6 (Quality) ██████░░░░░░░░░░░░░░ 2-3 weeks
Phase 7 (Tools) ██████░░░░░░░░░░░░░░ 2-3 weeks
TOTAL: ~12-18 weeks remaining
- Lexer handles all data types
- Parser handles precedence & grouping
- Error messages show line numbers
- Arithmetic & logic work
- Loops execute correctly
- Conditions chain properly
- Can define & call functions
- Scope isolation works
- Recursion safe
- Can write interactive programs
- Type system works
- I/O functions operational
- Pythonic indentation syntax
- Clear error messages
- Code feels production-ready
- Classes work
- Inheritance functional
- Objects behave correctly
- No hacks or workarounds
- Full test coverage
- Well-documented code
- CLI functional
- Debugging tools available
- Community tools ready
-
Lexer Enhancement
- Add float, boolean, null, comment support
- Improve error reporting with line/column
-
Parser Fixes
- Implement operator precedence
- Add parentheses support
- Fix expression chaining
-
Testing
- Test all new lexer tokens
- Verify parser handles complex expressions
- Day 1-2: Lexer ready ✓
- Day 3-5: Parser ready ✓
- Day 5-7: Testing & fixes ✓
✅ Start SIMPLE: Phases 0-1 are quick wins
✅ Build ITERATIVELY: Each phase enables the next
✅ Test OFTEN: Don't skip testing between phases
✅ Don't SKIP: Foundation phases are critical
🚀 OOP can wait: Phase 5 is advanced but rewarding
Phase 0 (Foundation)
↓
Phase 1 (Operators & Loops)
↓
Phase 2 (Functions)
↓
Phase 3 (Standard Library)
↓
Phase 4 (Error Handling)
↓
Phase 5 (OOP)
↓
Phase 6 (Quality)
↓
Phase 7 (Tools & Ecosystem)
You are at the START of Phase 0.
- ✅ Review this roadmap
- 🔲 Start Phase 0: Lexer enhancements
- 🔲 Complete Phase 0: Parser fixes
- 🔲 New Core: Transition to
SindlishObject& Protocols - 🔲 Move to Phase 1: Operators
- 🔲 ... continue to completion
We are pausing general feature development to focus on a Core Architecture Rebuild. See the specialized Object Model Roadmap for the 7-day intensive plan to transition Sindlish to a Python-like object system.
Last Updated: April 19, 2026
Status: Ready to start Phase 0