argumentcomputer / argumentcomputer/yatima
Compiler to the EVM through Yul
- Dominant language
- Lean
- Stars
- 146
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
We should write a compiler of Lean to the EVM. The best approach seems to be compiling it to [Yul](https://docs.soliditylang.org/en/v0.8.17/yul.html) instead of the EVM directly. Yul is a first order language without function pointers and no jumps. To compile a higher-order program will then require us to write a function dispatcher. Thankfully, the paper on GRIN describes a way to make this efficient. The other things we have to consider is how objects (including closures) should be represented in memory so we can devise an allocator and a collector (which could be just refcounting)
Contributor guide
Research direction
The issue names no repository files, tests, or entry points. Start by reviewing linked pull request #239 and the referenced Yul and GRIN materials to understand the proposed direction. Done would require an implemented Lean-to-Yul/EVM compiler with decisions for dispatch, object representation, allocation, and collection.
Written by the indexing model from the issue text.
Assessment
- Domain
- blockchain, compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100