12.1 Basic Data types
To get moving we give some basic data types:
Type Example Values --------------------------------------- void void is also called 0, it has no values (empty set) unit () unit is also called 1, it has 1 value. bool false, true bool is also called 2, it has 2 values. Named for George Boole. int 1234, 0, -24 double 12.34, -2.0e2, 7.6e-2, 0.0 string "hello", 'world' char char 'x', char 32
Note that there are no char
literals, instead the char
constructor takes
a string and provides the first character (if there is one) or the nul
character if the string is empty.
12.2 Type aliases
In Felix you can introduce an alias for a type:
typedef myint = int; typedef int_pair = int * int;
12.3 Basic functions
Some simple functions that are fairly general and quite useful:
12.3.1 str
and repr
The str
function converts many data types into a pleasant human readable string. The repr
function tries to make a string a bit more like a literal would look in a program.
Thus:
val x="Hello"; println$ str x; // Hello println$ repr x; // "Hello"
The concept is stolen from Python.
12.3.2 Concatenation
Concatenation, or joining, of strings is done using the +
symbol.
Internally, Felix detects the "addition" of two strings and chooses the concatenation function instead of numeric addition.
var msg = "Hello " + "world"; println msg;