reilabs / hieratika

Efforts to compile LLVM bytecode to run on top of the CairoVM and hence execute provably on Starknet
http://starknet.io
Apache License 2.0
1 stars 0 forks source link

docs: add ALU design #72

Closed wzmuda closed 1 month ago

wzmuda commented 1 month ago

Summary

This document captures research done in #27. ~Mostly, it's just the contents of my lengthy comment from that issue, corrected after Ara's comments. I also added a section on the statefulness (or the lack thereof).~ It's based on what we've discussed with Ara in the task comments and privately and my research mostly based on LLVM Language Reference Manual and some experiments with Godbolt generating IR from Rust. Also The Rust Book and The Cairo Book.

Details

I still use the word intrinsic everywhere because I think it's correct usage., but I'm still open for debate. Maybe I don't understand something.

Checklist

wzmuda commented 1 month ago

The document has too little of the actual design, so a detailed list of functions to implement will follow, as well as a chapter on data types, which is another point of data as for which operations need to be implemented and which are not.