2022-03-25 02:08:46 +00:00
|
|
|
---
|
|
|
|
sidebar_position: 2
|
2022-04-27 20:28:10 +00:00
|
|
|
title: Language Basics
|
2022-03-25 02:08:46 +00:00
|
|
|
---
|
|
|
|
|
2022-04-11 00:13:11 +00:00
|
|
|
import { SquiggleEditor } from "../../src/components/SquiggleEditor";
|
2022-03-25 02:08:46 +00:00
|
|
|
|
2022-03-25 12:13:56 +00:00
|
|
|
The squiggle language has a very simple syntax. The best way to get to understand
|
2022-03-25 02:08:46 +00:00
|
|
|
it is by simply looking at examples.
|
|
|
|
|
2022-04-28 14:58:39 +00:00
|
|
|
## Expressions
|
2022-04-27 18:49:15 +00:00
|
|
|
|
2022-04-28 14:58:39 +00:00
|
|
|
A distribution
|
2022-04-27 18:49:15 +00:00
|
|
|
|
|
|
|
<SquiggleEditor initialSquiggleString={`mixture(1 to 2, 3, [0.3, 0.7])`} />
|
2022-03-25 02:08:46 +00:00
|
|
|
|
2022-04-28 14:58:39 +00:00
|
|
|
A number
|
2022-04-27 18:49:15 +00:00
|
|
|
|
2022-04-28 14:58:39 +00:00
|
|
|
<SquiggleEditor initialSquiggleString="4.321e-3" />
|
|
|
|
|
|
|
|
Arrays
|
2022-03-25 02:08:46 +00:00
|
|
|
|
2022-04-10 23:15:46 +00:00
|
|
|
<SquiggleEditor
|
2022-04-28 14:58:39 +00:00
|
|
|
initialSquiggleString={`[cauchy(1,1), 4, isNormalized(toPointSet(1 to 2))]`}
|
2022-04-10 23:15:46 +00:00
|
|
|
/>
|
2022-03-25 02:08:46 +00:00
|
|
|
|
2022-04-28 14:58:39 +00:00
|
|
|
Records
|
2022-03-25 02:08:46 +00:00
|
|
|
|
2022-04-28 14:58:39 +00:00
|
|
|
<SquiggleEditor initialSquiggleString="d1 = {dist: normal(0, 1), weight: 0.25}" />
|
2022-03-25 02:08:46 +00:00
|
|
|
|
2022-04-28 14:58:39 +00:00
|
|
|
## Statements
|
2022-03-25 02:08:46 +00:00
|
|
|
|
2022-04-28 14:58:39 +00:00
|
|
|
A statement assigns expressions to names. It looks like `<symbol> = <expression>`
|
2022-03-25 02:08:46 +00:00
|
|
|
|
2022-04-27 18:49:15 +00:00
|
|
|
<SquiggleEditor
|
2022-04-28 14:58:39 +00:00
|
|
|
initialSquiggleString={`value_of_work = 10 to 70
|
|
|
|
5 + value_of_work / 75`}
|
2022-04-27 18:49:15 +00:00
|
|
|
/>
|
|
|
|
|
2022-04-28 14:58:39 +00:00
|
|
|
### Functions
|
|
|
|
|
|
|
|
We can define functions
|
2022-03-25 02:08:46 +00:00
|
|
|
|
2022-04-10 23:15:46 +00:00
|
|
|
<SquiggleEditor
|
2022-04-28 14:58:39 +00:00
|
|
|
initialSquiggleString={`ozzie_estimate(t) = lognormal(1, t ^ 1.01)
|
|
|
|
nuño_estimate(t, m) = mixture(0.5 to 2, normal(m, t ^ 1.25))
|
|
|
|
ozzie_estimate(5) * nuño_estimate(5.01, 1)
|
|
|
|
`}
|
2022-04-10 23:15:46 +00:00
|
|
|
/>
|