# Getting started with small-step operational semantics

DevFeed: [Getting started with small-step operational semantics](<https://devfeed.tech/articles/getting-started-with-small-step-operational-semantics-35841.md>)

Original publisher: [Read original article](<https://temporal.io/blog/getting-started-with-small-step-operational-semantics>)

Author: Dominik Tornow

Published: 2023-04-03T16:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>)

Tags: [getting-started](<https://devfeed.tech/tags/getting-started.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [recovery](<https://devfeed.tech/tags/recovery.md>), [retries](<https://devfeed.tech/tags/retries.md>), [sequence](<https://devfeed.tech/tags/sequence.md>), [state](<https://devfeed.tech/tags/state.md>), [temporal-concepts](<https://devfeed.tech/tags/temporal-concepts.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

## AI overview

This tutorial introduces small-step operational semantics through SagaLang, a minimal programming language for specifying sagas as sequences of transactions with retries and compensations. It explains how programs generate computations through sequences of states and state transitions.

## Source excerpt

Getting started with small-step operational semantics? Read how to design SagaLang, a tiny "programming language" for the development of sagas to illustrate the ideas behind SOS.