UCG has a few primitive types.
Boolean types can be either true
or false
. They are represented by symbols of the
same name.
true; false;
An Integer is any 64 bit integer number.
1;
A Float is any 64 bit floating point number. You indicate a number is a Float by including a decimal point. Any number with a decimal point is a float.
1.0; .0; 1.;
Strings are any double quoted text. You can use the \
to esacpe characters in the text.
"This is a string"; "This is an escaped \"string\"";
NULL is the empty type. It represents the absence of a value. It is represented by the
symbol NULL
.
let empty = NULL;
UCG also has two complex types.
Tuples are an ordered set of name value pairs. They are delimited by braces and should
contain 1 or more name = expression
pairs separated by commas. Trailing commas are allowed.
Field names can be barewords with no spaces or they can be quoted strings.
let tuple = { field = "value", inner = { number = 1, }, "quoted field" = "quotd value", };
Lists are a 0 indexed heterogenous list of expressions. The are delimited by square brackets and should contain 1 or more expressions separated by commas. Trailing commas are allowed.
let list = [1, "two", {three = 3},];
Next: Expressions