Value types

These types are passed by value.
They do not need to be created with NEW(), there is no "unset" value.
They are initialized to zero (FALSE for bool, FAIL for status).

Boolean:
        bool            TRUE or FALSE

Status:
        status         FAIL or OK         Similar to Bool, but with clearer meaning for
                                                     success/failure. Often used as return value for
                                                     methods. TODO: is there a better name?

Bits:
        BITS Name                          small values stored together in one 64 bit value
            ...
        }

Signed numbers:
        int               64 bit signed
        int8             8 bit signed
        int16           16 bit signed
        int32           32 bit signed
        int64           64 bit signed
        bigInt          arbitrary precision signed

Unsigned numbers:
        nat               64 bit unsigned
        nat8             8 bit unsigned
        byte             8 bit unsigned
        nat16           16 bit unsigned
        nat32           32 bit unsigned
        nat64           64 bit unsigned
        bigNat          arbitrary precision unsigned

Floating point numbers:
        float             64 bit
        float32         32 bit
        float64         64 bit
        float80         80 bit
        float128       128 bit
       
Fixed point numbers:
        fixed1          64 bit signed and one decimal (Int * 10)
        fixed2          64 bit signed and two decimals (Int * 100)
        fixed3          64 bit signed and three decimals (Int * 1000)
        ...
        fixed10        64 bit signed and ten decimals (range is about
                            -900'000'000 to 900'000'000)
        ...
        fixed15        64 bit signed and 15 decimals (range is about
                            -9000 to 9000)

Status: bool, status and int have been implemented

TODO: values
Examples:
     0
     123
     32239234789382798039480923432734343
     0xff00
     0b11110000
     0.01


Single quotes can be used in number values to make them easier to read.
A few examples:
        1'000'000
        0xffff'00ff
        0b1010'0000'1111'1111

For Java compatibility an underscore is also allowed:
        1_000_000
        0xffff_00ff
        0b1010_0000_1111_1111