Skip to content

Declarative vs. Imperative Concepts

Declarative blockchains are a novel concept. To fully grasp what they are and why they are important, it's helpful to first understand some core principles and ideas.

This section provides background context on:

  • The differences between declarative and imperative approaches to programming
  • The pitfalls of imperative design in the context of blockchains
  • The rising adoption of intents as a declarative design pattern in web3

This section of the docs is designed to be read sequentially. You'll get the best understanding if you go through page-by-page.

A Note on Terminology

Throughout these docs, you will see the following terms frequently:

  • Declarative
  • Intent; intent-centric; intent-based
  • Outcome; end-result

Fundamentally, they all refer to the same concept: interactions with blockchains should be framed and processed in terms of the user's intended outcome.

When a user submits an intent, they are making a declarative statement about what outcome they want on-chain.