Skip to content

0.3.0-dev

Choose a tag to compare

@OMouta OMouta released this 29 Sep 21:29
· 90 commits to master since this release

First developer preview of the v0.3 rewrite

This is the first dev build of the full PyLua v0.3 rewrite: a Python 3.12-focused interpreter implemented in Luau with a CPython-style pipeline (Lexer → Parser → AST → Compiler → Bytecode → VM). It’s a ground-up redesign for correctness, maintainability, and a Lupa-inspired API (Python-in-Luau). Expect rough edges and behavior may change before a stable release.

Getting started

  • Read README and the component docs in docs/
  • Browse runnable examples in examples/

Full Changelog
Compare all changes since V0.2.1:
V0.2.1...0.3.0-dev

Commits since V0.2.1 (most recent first):

bfa833e — Remove old code and move 0.2 README to docs, add comprehensive API docs
f811ac7 — Fix JUMP_FORWARD handling; adjust SETUP_LOOP/CONTINUE_LOOP logic
38c8daa — Merge #8: Implement floor division and matrix multiplication support
3db7f35 — Implement // and @; update compiler/VM/collections; add tests and docs
b3c14e1 — Add List comprehensions and unit tests
8f761c0 — Mark f-strings as complete
6b0d0e0 — Implement F-string support in parser and interpreter
c63c14c — Move from Lune to Lute; doc/formatting cleanups
d834512 — Elif/else chains; core built-ins; setup for Packages
1ab58ff — Implement bytes type and related functionality
02c6389 — Lexer: comments, triple quotes/prefixes; compiler/VM compare ops; dict/set hashing; NEWLINE locations; tokens endColumn; parser strict errors; '@' tokenization
59e8553 — Implement break/continue with tests
f7a89c9 — Fix list/map tests to validate PyObject types/values
2aa000c — Implement for loop support + iteration opcodes; interpreter cleanup
51a3bd2 — Update tests and jelly run format
fa054ea — Complete Frame.setVariable to check context
2010510 — Function creation/calling + tests
93acd1d — Implement some control flow statements
4de8c12 — Update .gitignore for Packages and .vscode
efde554 — Fix Copilot instructions implementation
1bbc78f — Jelly run format
4e987ba — Fix lint error on CODE_OF_CONDUCT
20aa316 — Fix broken links to internalDocs
2dca9dc — Docs: VM & function returns
6e49ab4 — Update version references to v0.3
84aeb2e — Implement bytecode: opcodes, code objects, compilation + tests
c3b10ef — Add comprehensive tests for built-ins/collections
a9049c1 — Implement base object system and tests
06c926b — Mark Phase 2.5 completed
d3ef591 — Refactor parser/VM; precedence; postfix; statements; function defs
eaa9114 — Add Luau Runtime section to Copilot instructions
707248a — AST Starred/DictUnpack; literals with *args/**kwargs; call handling; tests
bc3385b — jelly.json updates; Packages in .gitignore
230f76b — Implement parser/token definitions; expression parsing tests
a3524e2 — Add CoC, Contributing, and internal docs; rewrite plan for v0.3
0cffc2e — AST system foundation + visitor tests
2d25732 — Start the 0.3 rewrite; move old code; new foundations
(Plus pre-rewrite cleanup/housekeeping earlier in history)

Thanks to everyone who contributed ideas, feedback, and code.