> For the complete documentation index, see [llms.txt](https://help.trikset.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.trikset.com/en/studio/programming-visual/expression-syntax/types.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
