argumentcomputer / argumentcomputer/yatima

Compiler to the EVM through Yul

Open
#238 0 comments 2 reactions 0 assignees Claimed by @gabriel-barrett View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.