Values are the built-in object types that all other objects are composed of.
They can be created through *literals*, expressions that evaluate to a value.
## Booleans
A boolean value represents truth or falsehood. There are two boolean literals,
`true` and `false`. Its class is `Bool`.
## Numbers
Like other scripting languages, Wren has a single numeric type: double-precision floating point. Number literals look like you expect coming from other languages:
A range is a little object that represents a consecutive range of numbers. They don't have their own dedicated literal syntax. Instead, the number class implements `..` and `...` operators to create them:
:::dart
3..8
This creates a range from three two eight, including eight itself. If you want a half-inclusive range, use `...`:
:::dart
4..6
This creates a range from four to six *not* including six itself. Ranges are commonly used for [looping](looping.html) over a sequences of numbers, but are useful in other places too. You can pass them to a [list](lists.html)'s subscript operator to return a subset of the list, for example: