This directory contains internal documentation for PyLua v0.3 development. These documents are intended for contributors, maintainers, and anyone interested in understanding the implementation details of the PyLua interpreter.
This is the planning document for work after the 0.3 release. It outlines:
- Planned milestones and future features
- High-level priorities for v3.1+ (classes/modules, decorators, context managers, async, etc.)
- Performance and footprint goals
Start here if you want to understand what's next.
This document provides background on how programming language interpreters work, with specific focus on:
- The standard interpreter pipeline: Lexer → Parser → AST → Compiler → VM
- CPython's internal architecture and execution model
- Python 3.12 syntax features and grammar changes
- Object system design and memory management
- Bytecode compilation and virtual machine execution
- Practical guidance for implementing Python semantics in Luau
Essential reading for understanding the theoretical foundation and technical challenges of building a Python interpreter.
- New contributors: Start with
ROADMAP.mdto understand upcoming work and priorities - Core developers: Use both documents as reference for implementation decisions
- Language experts:
LANGUAGE_IMPLEMENTATION.mdprovides the theoretical foundation
- Architecture decisions should align with the principles outlined in these documents
- Use the sections in
ROADMAP.mdfor milestone planning - Reference the compliance goals when evaluating feature requests
Based on these documents, PyLua v0.3 follows these core principles:
- Python 3.12 Compliance: Support Python 3.12 syntax and below for focused, manageable scope
- CPython-Inspired Architecture: Follow proven interpreter design patterns
- Lupa-Style API: Familiar interface for embedders (Python-in-Luau)
- Modular Design: Clean separation between lexer, parser, compiler, and VM
- Roblox Optimization: Designed specifically for the Roblox/Luau environment
When contributing to PyLua v0.3:
- Read both documents to understand the architecture and goals
- Follow the phase plan - implement features in the correct order
- Maintain Python compliance - reference CPython behavior for accuracy
- Write comprehensive tests - each component needs thorough test coverage
- Document design decisions - update these docs when making architectural changes
| Need to... | Reference |
|---|---|
| See upcoming features and priorities | ROADMAP.md - Post-0.3 milestones |
| Implement lexer/tokenizer | LANGUAGE_IMPLEMENTATION.md - Lexical Analysis |
| Design AST nodes | LANGUAGE_IMPLEMENTATION.md - Parsing and AST |
| Build the virtual machine | LANGUAGE_IMPLEMENTATION.md - CPython Execution Model |
| Understand Python 3.12 features | LANGUAGE_IMPLEMENTATION.md - Python 3.12 Syntax Updates |
These documents reference and build upon: