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.