Being like Python it forces an easy to use spaced format with a simple modern syntax. It is more consistent and flexible than BASIC and logo or other languages recommended for beginners. However be aware: Documentation in English is available, but not redundant and not always beginner-friendly. Documentation in other languages, is almost inexistant.

Genie code must be written in files with the *.gs extensions. Vala codes must be written in files with the .vala extension.

When you want to compile Genie code, you give the compiler a list of the files required, and Genie/Vala compiler will work out how they fit together.

Syntax

Genie's syntax mixes features of several high level languages including Python, Boo, Delphi and D

Genie is case sensitive as a result of it being compiled into c code - so be careful when mixing case in your code.

An identifier is defined by its name and its type, e.g. i:int meaning an integer called i. In the case of value types this also creates an object of the given type. For reference types these just defines a new reference that doesn't initially point to anything.

Genie has a mechanism called Type Inference, whereby a local variable may be defined using var instead of giving a type, so long as it is unambiguous what type is meant.