# TRIK Studio language types

Unlike [Lua](https://www.lua.org/), the TRIK Studio language is statically-typed, that is, the type of each expression and each variable must be known at compile time. Moreover, the language does not require (and does not even allow!) to explicitly write the types of variables. It uses automatic type inference for the use of variables.

For example, environment "understands" from the expression `a = 1` that type of `a` is integer.

| Type                                                                    | Description                                                                                                                                                                   |
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Boolean (logic) type                                                    | Can be one of two values: true or false.                                                                                                                                      |
| Real                                                                    | Uses IEEE 754 64-bit binary64 representation (allows to store values up to 1.7E+308).                                                                                         |
| Integer                                                                 | Uses 32-bit signed representation (allows to store values in a range from -2 147 483 648 to 2 147 483 647).                                                                   |
| String                                                                  | Allows storing character strings of arbitrary length in UTF-8 encoding.                                                                                                       |
| Null type                                                               | It has only a one-nil value and means the absence of any other value type.                                                                                                    |
| [Array](/en/studio/programming-visual/expression-syntax/types/array.md) | Allows storing an arbitrary number of values ​​of an arbitrary (but for each value in the same array of the same) type, including other arrays, and access values ​​by index. |

See the article about the syntax of expressions in blocks:

{% content-ref url="/pages/-M0P0kE4EwB9x-p35xad" %}
[Syntax of expressions in the blocks](/en/studio/programming-visual/expression-syntax.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.trikset.com/en/studio/programming-visual/expression-syntax/types.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
