https://github.com/zag-research/zag-smalltalk
Smalltalk VM Written in Zig with methods stored as type-annotated ASTs
https://github.com/zag-research/zag-smalltalk
compiler interpreter smalltalk zig
Last synced: about 2 months ago
JSON representation
Smalltalk VM Written in Zig with methods stored as type-annotated ASTs
- Host: GitHub
- URL: https://github.com/zag-research/zag-smalltalk
- Owner: Zag-Research
- License: mit
- Created: 2021-02-25T07:40:57.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-09-26T23:24:12.000Z (2 months ago)
- Last Synced: 2025-09-27T01:23:35.124Z (2 months ago)
- Topics: compiler, interpreter, smalltalk, zig
- Language: Smalltalk
- Homepage:
- Size: 182 MB
- Stars: 141
- Watchers: 11
- Forks: 10
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Zag-Smalltalk
Smalltalk VM Written in Zig with methods stored as type-annotated ASTs
Methods are re-constituted from the AST for edit windows.
No Interpreter; uses Threaded and CPS execution models interchangeably
Memory structure and some of execution principles loosely modelled on OpenSmalltalk VM
Eventually it wiil include a JIT compiler
More information in the [Documentation](Documentation)
Papers and Talks can be found [here](Documentation/papers)
(Previously called AST-Smalltalk, but since the implementation is in Zig, a rename seemed obvious.)
### Loading into Pharo (known to load with Pharo 13)
*very much work-in-progress at the moment*
```smalltalk
Metacello new
baseline: 'ZagSmalltalk';
repository: 'github://Zag-Research/Zag-Smalltalk:main';
load
```