- Cairo and Sierra
- StarkWare Sessions 23 | Sierra - Enforcing Safety Using Typesystems | Shahar Papini
- Reading Sierra: Starknet's secret sauce for Cairo 1.0
- Under the hood of Cairo 1.0: Exploring Sierra Part 1
- Under the hood of Cairo 1.0: Exploring Sierra Part 2
- Under the hood of Cairo 1.0: Exploring Sierra Part 3
- Understanding Sierra: Gas accounting
- Equivalence Between Loops and Recursive Functions
- Inlining in Cairo
- Crate documentation
Sierra uses a list of builtin functions that implement the language functionality, those are called library functions, short: libfuncs. Basically every statement in a sierra program is a call to a libfunc, thus they are the core of Cairo Native.
Each libfunc takes input variables and outputs some other variables. Note
that in cairo a function that has 2 arguments may have more in sierra, due
to "implicits" / "builtins", which are arguments passed hidden from the
user, such as the GasBuiltin
.