Assembly language feature: add new levels for Yul
- Dominant language
- C++
- Stars
- 25.7k
- Forks
- 6.2k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 21
Description
## Abstract
Add new levels for Yul: **Yul+** being a higher-level version and **Yul-** being a lower-level version.
## Motivation
The current version of Yul can be viewed as a pretty high-level assembly language since it provides e.g. no access to stack and control flow instructions. I open this issue to initiate a discussion on adding potential new levels to the current version of Yul. The idea started with my Twitter thread [here](https://twitter.com/pcaversaccio/status/1541529156504231938) and feedback by @leonardoalt. The current idea is to add new levels of Yul: **Yul+** being a higher-level version and **Yul-** being a lower-level version with more compilation stack layers. Building something similar to LLVM IR would be really nice.
Contributor guide
Research direction
Start with the issue discussion and its linked motivation thread, then review how the current Yul level is defined. Establish the semantics and scope of Yul+ and Yul-, including stack and control-flow access, before implementation; the LLVM IR comparison is exploratory rather than an acceptance criterion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, solidity
- Domain
- blockchain, compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100