Overview of the Move Source Language
mainMove is an expression-based source language designed for writing Modules and Scripts that compile to Move bytecode. It aims to be ergonomic and concise while maintaining transparency with the underlying bytecode.
Key characteristics include:
- Expression-based: Allows for concise, composed programs that interact with the stack in a controlled manner.
- Bytecode Transparency: The language lifts bytecode concepts into the source level rather than hiding them, ensuring full interoperability with published modules.
- Strictness: Adds restrictions such as preventing arbitrary stack manipulation and disallowing dead code or unused effects to improve safety and facilitate formal verification.