Penguin
Note: You are viewing an old revision of this page. View the current version.

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