Booleans

The class is named boolean and contains the values true and false:

true is boolean;   # true
false is boolean;  # true

Numbers

The classes are named int and number. The class number contains all the numerical values, while the class int only contains the ones with a fractional part equal to 0:

42 is number;   # true
42 is int;      # true

2.3 is number;  # true
2.3 is int;     # false

Every Letlang number or integer is a 64-bits float (see IEEE-754 specification).

Strings

The class string contains all the UTF-8 character strings:

"hello world" is string;  # true

Atoms

Atoms are user-defined symbols, starting with the character @. The class atom contains all such values:

@ok is atom;
@hello is atom;

Value types

Every letlang value can be used as a type which contains only that specific value:

42 is 42;       # true
42 is "hello";  # false