Types

All expressions have a type which is known during semantic analysis. Nim is statically typed. One can declare new types, which is in essence defining an identifier that can be used to denote this custom type.

These are the major type classes:

  • ordinal types (consist of integer, bool, character, enumeration (and subranges thereof) types)
  • floating point types
  • string type
  • structured types
  • reference (pointer) type
  • procedural type
  • generic type