# CUE Tutorial

## About this tutorial

This tutorial teaches the fundamentals of CUE.
To try out the examples in the tutorial you can follow the
[installation instructions](../../install.md)
to get a working setup of CUE.

Use the `cue eval` or `cue export` commands to evaluate an example.

[Click here to start](json.md)

## TOC

- [JSON Sugar and other Goodness](json.md)
  - [Quotes are Optional for Field Names](fieldname.md)
  - [Commas are Optional after Fields](commas.md)
  - [Commas are Still Required in Lists](commaslists.md)
  - [Curly Braces](curly.md)
  - [Folding of Single-Field Structs](fold.md)
  - [Folding all Fields](foldany.md)
  - [Comments](comments.md)
  - [Number Literals](numberlit.md)
  - [String Literals](stringlit.md)
  - ["Raw" Strings](stringraw.md)
  - [Bytes](bytes.md)
- References and Visibility
  - [References and Scopes](scopes.md)
  - [Accessing Fields](selectors.md)
  - [Aliases](aliases.md)
  - [Emit Values](emit.md)
  - [Hidden Values](hidden.md)
- Types ~~and~~ are Values
  - [Duplicate Fields](duplicates.md)
  - [Bottom / Error](bottom.md)
  - [Basic Types](types.md)
  - [Order is Irrelevant](unification.md)
  - [Disjunctions](disjunctions.md)
  - [Default Values](defaults.md)
  - [Disjunctions of Structs](sumstruct.md)
  - [Numbers](numbers.md)
  - [Ranges](ranges.md)
  - [Predefined Ranges](rangedef.md)
  - [Lists](lists.md)
  - [Templates](templates.md)
- [Modules, Packages, and Instances](instances.md)
  - [Packages](packages.md)
  - [Imports](imports.md)
- Expressions
  - [Operators](operators.md)
  - [Interpolation](interpolation.md)
  - [Interpolation of Field Names](interpolfield.md)
  - [List Comprehensions](listcomp.md)
  - [Field Comprehensions](fieldcomp.md)
  - [Conditional Fields](conditional.md)
  - [Null or Error coalescing](coalesce.md)
- Cycles
  - [Reference Cycles](cycle.md)
  - [Cycles in Fields](cycleref.md)
  <!-- - Conversions -->
  <!-- - Functions (simulating) -->
