Skip to content

Latest commit

 

History

History
298 lines (229 loc) · 11.7 KB

File metadata and controls

298 lines (229 loc) · 11.7 KB

🗺️ SINDLISH LANGUAGE — DEVELOPMENT ROADMAP

Goal: Build Sindlish from 40-50% to a fully functional programming language
Current Status: Lexer ✔ | Parser ✔ | Interpreter ✔ | Variables ✔ | If/Else ✔ | Collections ✔ | Methods ✔


📋 PHASES & MILESTONES

🔴 PHASE 0: FOUNDATION STABILIZATION (Finish Basic Infrastructure)

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


🟠 PHASE 1: CORE OPERATORS & CONTROL FLOW (Complete Basic Language Features)

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


🟡 PHASE 2: FUNCTIONS & SCOPE SYSTEM (Enable Code Reuse)

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


🟢 PHASE 3: DATA STRUCTURES & STANDARD LIBRARY (Enable Real Programs)

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


💜 PHASE 4: ERROR HANDLING & INDENTATION SYSTEM (Professional Quality)

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


💎 PHASE 5: OBJECT-ORIENTED PROGRAMMING (Advanced Features)

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


PHASE 6: QUALITY & POLISH (Production Ready)

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


🚀 PHASE 7: DEVELOPER TOOLS & ECOSYSTEM (Final Tier)

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


📊 TIMELINE OVERVIEW

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

🎯 SUCCESS METRICS BY PHASE

Phase 0: ✅ Foundation Complete

  • Lexer handles all data types
  • Parser handles precedence & grouping
  • Error messages show line numbers

Phase 1: ✅ Language Fully Usable

  • Arithmetic & logic work
  • Loops execute correctly
  • Conditions chain properly

Phase 2: ✅ Functions Work

  • Can define & call functions
  • Scope isolation works
  • Recursion safe

Phase 3: ✅ Standard Library Ready

  • Can write interactive programs
  • Type system works
  • I/O functions operational

Phase 4: ✅ Professional Quality

  • Pythonic indentation syntax
  • Clear error messages
  • Code feels production-ready

Phase 5: ✅ OOP Support

  • Classes work
  • Inheritance functional
  • Objects behave correctly

Phase 6: ✅ Clean Architecture

  • No hacks or workarounds
  • Full test coverage
  • Well-documented code

Phase 7: ✅ Developer Friendly

  • CLI functional
  • Debugging tools available
  • Community tools ready

🚦 GETTING STARTED (PHASE 0)

Week 1, Day 1: Start with Phase 0

  1. Lexer Enhancement

    • Add float, boolean, null, comment support
    • Improve error reporting with line/column
  2. Parser Fixes

    • Implement operator precedence
    • Add parentheses support
    • Fix expression chaining
  3. Testing

    • Test all new lexer tokens
    • Verify parser handles complex expressions

Milestones:

  • Day 1-2: Lexer ready ✓
  • Day 3-5: Parser ready ✓
  • Day 5-7: Testing & fixes ✓

💡 KEY INSIGHTS

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
⚠️ Phase 2-3 are CRITICAL: Functions unlock real programs
🚀 OOP can wait: Phase 5 is advanced but rewarding


🔗 DEPENDENCIES GRAPH

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)

✨ CURRENT POSITION

You are at the START of Phase 0.

Next Steps:

  1. ✅ Review this roadmap
  2. 🔲 Start Phase 0: Lexer enhancements
  3. 🔲 Complete Phase 0: Parser fixes
  4. 🔲 New Core: Transition to SindlishObject & Protocols
  5. 🔲 Move to Phase 1: Operators
  6. 🔲 ... continue to completion

⚡ SPECIAL FOCUS: THE OBJECT MODEL TRANSITION (STARTING TOMORROW)

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