Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Values and Types

In Solstice, everything is a value, and every value has a type. Values can be moved around and passed to different functions, however to pass them around their type must be confirmed.

int

An int is a signed (meaning either positive or negative) 8-byte integer (meaning no decimal place).

Using this size, Solstice can accurately process numbers between -9,223,372,036,854,775,807 and 9,223,372,036,854,775,807.

Integers are represented as a collection of digits not seperated by anything, such as:

123
7483
423843269

double

A double is a signed 8-byte floating-point (meaning with a decimal place) number.

Using this size, Solstice can accurately process numbers between 15 and 17 digits long.

Doubles are represented as a collection of digits, with a dot (.) seperating the ones and tenths positions, such as:

3.14
432.543
5907432.432

string

A string is a collection of characters which end with a null byte (handled by Solstice).

Solstice can accurately process strings of any size, provided your computer has enough memory.

Strings are represented as a collection of characters surrounded by double quotes (""), such as:

"Hello, World!"
"Solstice is cool"
"Rust kinda mid"

char

A char is a signed 1-byte integer, represented as an ASCII character, however can also be used to represent a single byte in a stream.

Solstice can accurately process any ASCII character.

Characters are represented as a single character surrounded by single quotes (''), such as:

'a'
'b'
'c'

bool

A bool is a variable which can either be true or false.

true
false

Other Types

Solstice has three other types: fun, template, and object, but we’ll cover these in the Functions and Structures pages.