---
sidebar_position: 2
title: Language Basics
---
import { SquiggleEditor } from "../../src/components/SquiggleEditor";
The squiggle language has a very simple syntax. The best way to get to understand
it is by simply looking at examples.
## Expressions and statements
A squiggle **expression** is a value like a float or a distribution or a data structure like an array or a record.
The bottom line of your squiggle buffer should be an expression, which we evaluate (i.e., render). Sometimes we call the last expression of a squiggle file an _export_.
A squiggle **assignment** is a statement, when you want to bind an expression to a name.
### Functions
Some assignments are functions
## Data structures
A squiggle **array** is a list of expressions, which is interpretable as an export.
A squiggle **record** is a key-value store with dot accessors.