Skip to content

Glossary

Yul

An intermediate language used by the Solidity compiler — a low-level, untyped EVM IR that lets engineers write hand-optimized code without using raw assembly.

Yul (formerly "JULIA") is the EVM intermediate language used internally by Solidity to perform optimization passes before emitting bytecode. Engineers can also write Yul directly — either in standalone .yul files or as inline blocks within Solidity contracts — when they need finer control over gas, layout, or calling conventions.

Yul has a small syntax (assignments, function calls, if/switch, loops, blocks) and a minimal set of built-in functions over the EVM opcodes. It is the de-facto language of gas-optimized Solidity libraries (Solady, Solmate).