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). 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 |