Sesi Programming Language Roadmap
Version 1.0 - Foundation (Complete)
Status: Complete V1.0 implementation
Ready for: Exploration, learning, building prototypes
Not ready for: Production systems (until v2.0 with error handling)
Next milestone: V1.1
Core Language Features ✅
- Variables and bindings (let) (const is deprecated)
- Functions with parameters and types
- Control flow (if/else, while, for, try/catch)
- Operators (arithmetic, logical, comparison)
- Arrays and objects
- Type system with inference
- Comments (// and /\ \/)
- String concatenation
- Error handling (try/catch blocks)
Integrated Reasoning Features ✅
- Prompt blocks
- Reasoning model calls (model())
- Structured output (structured_output())
- Tool calling (tool_call())
- Stateful context management (memory)
Built-in Functions ✅
- print, type, str, num, bool
- len, push, pop, join, split
- range, keys, values
- read_file, write_file
- spawn, exec (Concurrency & Systems)
- time, random (Utilities)
- Array and object operations
Tooling ✅
- Lexer and parser
- Tree-walking interpreter
- CLI executable (sesi)
- Examples (22 programs)
- Documentation
Limitations
- Interpreter is Single-threaded (use
spawn()for concurrency) - No async/await
- Blocking Reasoning calls
- Limited error messages
- No pattern matching
- No generics or custom types
---
Version 1.5 - Improvements (Complete)
Status: Complete V1.5 implementation
Ready for: File manipulation and process orchestration
Not ready for: Massive-scale production (until v2.0 bytecode)
Next milestone: V2.0
Improvements & Features ✅
- Systems Builtins:
spawn,exec,time,random - Concurrency: Async polling via file locks for completion and MAX_TOKENS
- Image Generation primitive (
image) and Config blocks (ratio,size) - File Management Builtins:
list_dir,write_image - Documentation improvements (Extensive Markdown guides)
- Bug fixes (tool_call argument passing resolved)
- Simple error recovery (Parser synchronization)
- Implicit statement termination for blocks ending in
} - Temporal Context Injection for reasoning calls
- Concurrency capabilities (File-based lock pattern)
- API reference (
BUILTINS.md) - Tutorial: Getting started (
QUICKSTART.md) - Cookbook: Common patterns (
WRITING_SCRIPTS.md)
Deferred to V2.0 ⏳
- Better error messages with line numbers and stack traces
- REPL (Read-Eval-Print Loop)
- String escape sequences & Multiline strings
- Comments preservation (for docs)
- Type hints in function signatures
- Performance optimizations
- Tutorial: Writing scripts
---
Version 2.0 - Advanced Concurrency & Logic (Q3-Q4 2026)
Focus: Advanced reasoning features and native concurrency
Async/Await Support
- async/await syntax (language level)
- Parallel reasoning calls (native)
- Promise-like operations
- Concurrent execution (Multi-process via
spawn)
Advanced Features
- Streaming responses
- Extended thinking
- Multi-step workflows
- Tool composition and piping
- Custom tool definitions
- Function calling with automatic orchestration
- Web search grounding
Memory System
- Long-term memory with embeddings
- Memory search by similarity
- Context window management
- Automatic summarization
- Persistent storage (file-based)
Error Handling
- finally blocks (try/catch completed in V1)
- Custom error types
- Error recovery strategies
- Retry logic with exponential backoff
- Timeout handling
Performance
- [~] Bytecode compilation (VM + compiler foundation: expressions, loops, functions ✅ — closures, try/catch, imports pending)
- Logic caching
- Token counting and cost estimation
- Lazy evaluation
New Built-ins
- String functions (to_upper, to_lower, trim, slice, swap)
- Array functions (map, filter, reduce, find, etc.)
- Math functions (sqrt, sin, cos, floor, ceil, etc.)
- Date/time functions
- JSON parsing and serialization
- HTTP client (get, post)
Module System
- import/export statements
- Standard library modules (std/math, std/time, etc.)
- Third-party package management
- Lib support
Tooling
- Debugger with breakpoints
- Profiler for performance analysis
- AST visualization
- Token stream visualization
- Type checking tool
- Linter and formatter (Native, no external dependencies)
Examples
- Web scraper with reasoning analysis
- Command line utility expansion
- Chatbot with memory
- Data pipeline with reasoning
- API server (with async)
---
Version 3.0 - Robust Logic Frameworks (2027)
Focus: Complete language tooling
Technical Frameworks
- Advanced scripting definition models
- Logic composition and chaining
- Extended process collaboration
- Communication protocols
- Persistence layer
Knowledge Base
- Vector database integration
- Semantic search
- Knowledge graph support
- RAG (Retrieval-Augmented Generation)
- Document indexing
Advanced Patterns
- Sub-process execution workflows
- Modular scripting decomposition
- Retry safety check loops
- Deep AST reflection
- Human-in-the-loop prompts
Ecosystem
- Package registry
- Community extensions
- Plugin system
- API server template
- Dashboard/UI toolkit
Examples
- Automated code formatting process
- Document processor (PDF, DOCX)
- Code generation and testing
- Data analysis pipeline
- Multi-process reasoning debate
---
Version 4.0+ - Vision (2027+)
Focus: Maturity, optimization, and specialization
Potential Features
- Compilation to JavaScript/WASM
- JIT compilation for hot paths
- Distributed execution
- Cross-model orchestration (Gemini, Claude, etc.)
- Vision model integration
- Audio processing
- Real-time streaming
- Genetic programming / AutoML
- Formal verification
- Type refinement system
New Language Constructs
- Pattern matching
- Generics and templates
- Traits/interfaces
- Macros
- DSL support
- Concurrent primitives (channels, mutexes)
Performance
- LLVM backend option
- WebAssembly compilation
- GPU acceleration
- Distributed computing
---
Feature Priority Matrix
| Feature | Priority | V1 | V2 | V3 | V4+ | |
|---|---|---|---|---|---|---|
| Basic syntax | 🔴 High | ✅ | ||||
| Functions | 🔴 High | ✅ | ||||
| Reasoning calls | 🔴 High | ✅ | ||||
| Error handling | 🔴 High | ✅ | ⏳ | |||
| Async/await | 🔴 High | ⏳ | ||||
| Streaming | 🟡 Medium | ⏳ | ||||
| Process Logic | 🟡 Medium | ⏳ | ||||
| Knowledge base | 🟡 Medium | ⏳ | ||||
| Module system | 🟡 Medium | ⏳ | ||||
| Debugger | 🟢 Low | ⏳ | ||||
| Compilation | 🟢 Low | ⏳ | ||||
| GPU support | 🟢 Low | ⏳ |
---
Release Timeline
2026 Q2
└─ v5 - Polish & stabilize
2026 Q3-Q4
└─ v2.0 - Async & advanced APIs
2027 Q1-Q2
└─ v3.0 - Language Ecosystem
2027 Q3+
└─ v4.0+ - Mature compilation
---
Community & Contribution
Planned Community Activities
- Public GitHub repository
- Discord/Slack community
- Monthly community calls
- RFCs (Request for Comments) for major features
- Contribution guidelines
- Code of conduct
How to Help (When Open Source)
- Test programs and report bugs
- Contribute documentation
- Submit examples
- Propose language features
- Implement built-in functions
- Build tools and extensions
---
Backwards Compatibility
Stability Guarantee
- v1.x → v1.y: Full backwards compatibility
- v1.x → v2.0: Mostly compatible, deprecation warnings for breaking changes
- v2.x → v3.0: New features, old syntax still works
Deprecation Policy
- Announce deprecation (1 version ahead)
- Show warnings in compiler
- Provide migration guide
- Remove in next major version
---
Open Questions & Design Discussions
For the Community
- Should we support object-oriented programming (classes, inheritance)?
- Should we add pattern matching or keep it simple?
- Should memory be file-based by default or in-memory?
- How should we handle multi-model orchestration?
- Should processes be stateful or functional?
Technical Decisions
- Type system: Gradual or strict?
- Concurrency: Async/await or coroutines?
- Module system: Centralized registry or decentralized?
- Error handling: Exceptions or Result types?
---
Performance Goals
| Metric | V1 | V2 | V3 | |
|---|---|---|---|---|
| Startup time | <100ms | <100ms | <50ms | |
| Simple expression eval | <1µs | <100ns | <10ns | |
| Function call overhead | <10µs | <1µs | <100ns | |
| Reasoning latency | 2-5s (API) | 2-5s | 2-5s | |
| Memory usage | <50MB | <50MB | <100MB |
---
Inspiration & References
Language Design
- Python: Simplicity, readability
- Lua: Lightweight, embeddable
- JavaScript: Functions as first-class values
- Go: Clear error handling
- Rust: Type safety, memory safety
Code Control
- CLI utilities: Direct data piping
- Shell scripting: Execution transparency
- Modern SDKs: Model abstraction
Community
- Rust community: Welcoming, inclusive
- Python community: Documentation focus
- Go community: Simplicity first
---
Conclusion
Sesi is designed to evolve with reasoning needs. The roadmap balances:
- Simplicity (v1: core features only)
- Power (v2: advanced reasoning and extended functionality)
- Maturity (v3: comprehensive libraries and frameworks)
- Scale (v4+: production readiness and compilation)
The journey from v1 (interpreter) to v4+ (distributed compiler) maintains backward compatibility while adding power where needed.
Current focus: Ship v2.0 with native async/await and advanced reasoning patterns.
---
See Also