Skip to content

Merge Tolk to testnet#1718

Merged
EmelyanenkoK merged 8 commits intotestnetfrom
master
Jun 20, 2025
Merged

Merge Tolk to testnet#1718
EmelyanenkoK merged 8 commits intotestnetfrom
master

Conversation

@EmelyanenkoK
Copy link
Member

No description provided.

tolk-vm and others added 8 commits June 10, 2025 17:46
Before: b.storeUint(0x18, 6)
Now: b.storeUint(0,1).storeUint(1,1)...
The compiler is able to join consecutive stores of const values.
It works at the IR level, not at AST.
That's why it works after constant folding:
> x = 0;
> b.storeUint(x, 10);
> x = 1;
> if (x==1) b.storeUint(x, 10);
Merged to "store 1, 20."

Same for skip bits, also merged.
Allow `fun address.staticMethod`.
Before, it was not allowed due to a global
`address` function.
Now, the type has more precedence.
Then `match` is the last statement,
or is immediately followed by `return`,
generate not `IF...ELSE` to Fift output,
but `IFJMP...`.
Same for `if/else` statement.
Features:
- extra currencies
- stateInit (code+data) with automatic address computation
- different workchains
- sharding (formerly splitDepth)
- auto-serialized body
- auto-detect "body ref or not"
- more efficient than handwritten code
Before, `++i` was valid (and did nothing, --1 is 1), probably unexpected
A pre-release one (although many optimizations are yet to come)
Tolk v0.99: universal message composition
@EmelyanenkoK EmelyanenkoK merged commit ca2a79f into testnet Jun 20, 2025
19 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants