Terminology and Syntax

Terminology

In this document, the following terminology is used to describe syntax or behavior that is not allowed in the language:

  • Invalid means that the invalid program will not even be allowed to run. The program error is detected and reported statically by the type checker.

  • Run-time error means that the erroneous program will run, but bad behavior will result in the execution of the program being aborted.

Syntax and Behavior

Much of the language's syntax is inspired by Swift, Kotlin, and TypeScript.

Much of the syntax, types, and standard library is inspired by Swift, which popularized e.g. optionals, argument labels, and provides safe handling of integers and strings.

Resources are based on liner types which were popularized by Rust.

Events are inspired by Solidity.

Disclaimer: In real Cadence code, all type definitions and code must be declared and contained in contracts or transactions, but we omit these containers in examples for simplicity.

Last updated