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: 21 days 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 (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-09-26T23:24:12.000Z (about 1 month ago)
- Last Synced: 2025-09-27T01:23:35.124Z (about 1 month 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
```