Introduction
tl;dr
Yul is an intermediate representation of Solidity bytecode.
It’s not exactly Assembly, since what is stored on the blockchain is bytecode; Yul is one level above assembly.
Yul is designed such that the translation between Yul and the actual bytecode is as one-to-one as possible
Basic Characteristics
Yul code has to be stored within an
assembly
blockAssignment of variables has to be done with
:=
Yul doesn’t have semicolons
Doesn’t have storage variables, doesn’t handle memory, doesn’t have arrays, and doesn’t parse function arguments.
Last updated