external-crates/move/README.md
Move is a new programming language developed to provide a safe and programmable foundation for smart contract development.
The Move language directory consists of three distinct parts: the Move bytecode language, the Move intermediate representation (IR), and the Move source language.
The Move bytecode language defines programs published to the blockchain. It has a static type system that guarantees the absence of certain critical errors, including the prevention of duplicating certain values. Relevant crates include:
The Move IR is a low-level intermediate representation that closely mirrors Move bytecode. What mainly differentiates it from the bytecode is that names are used as opposed to indexes into pools/tables. Relevant crates include:
The Move source language is a high-level language that compiles to Move bytecode. It is designed to be a familiar and ergonomic language for developers that provides minimal abstractions over the Move bytecode. Relevant crates include: