--- 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.