You are viewing an old revision of this page.
The Fixed size, unaligned types:
Other than bit, all of these types have "signed" and "unsigned" forms, with unsigned being the default.
- bit, exactly 1 bit long. Doesn't have a "signed" type.
- nibble, exactly 4 bits long.
- byte, exactly 8 bits long.
- word?, exactly 16 bits long.
- dword, exactly 32 bits long.
- qword, exactly 64 bits long.
The Dynamic size, aligned types:
other than range (which is implicitly signed or unsigned) and chars, all other types have "signed" and "unsigned" forms, with signed being the default.
- a range, specified as "lower..upper". will always be range checked.
- char, good for storing charactors. This type does not allow for math operations.
- short, good for doing small math on. sizeof(short) >= sizeof( 8 bits )
- integer, good numerical type, sizeof(integer) >= sizeof(short)
- long, good extended length numerical type, sizeof(long) >= sizeof(integer)
- float, a floating point number. May not be implemented.
- double, a double precision floating point number, May not be implemented.
Other types
- enums
- varient type
- function type
- array's of any of these, indexed by any type.
- class's of any of these
- typedef's. typedef's create new types, not aliases of old ones. eg:
typedef integer foo_t
foo_t a
integer b
a=b # Type error