WHAT'S IN THIS CHAPTER?
Understanding primitive types
Declaring primitive type instances
Like all languages that run on top of the CLR, the F# language provides a core set of primitive types that offer basic integer and floating-point arithmetic capabilities, character string support, Boolean types, and so on. In general, these map to the corresponding CLS types (
System.Int16, System.Int32, and so on), as described next, but a few types are new to F# and come from the F# libraries. These types are fully accessible to other languages, such as C# and Visual Basic but obviously have no native language support there and need to be used as any other .NET type is (that is, via fully qualified type names).
Probably the simplest primitive type in F# is the
bool type, which corresponds to the CLR's underlying
System.Boolean type, and has two possible values,
Booleans support the usual range of logical operations, including
&& (logical AND) and
|| (logical OR), and otherwise behave just as Boolean values do in any other .NET language.
F# supports a wide range of numeric types, 8 bits in size to 64, in both signed and unsigned versions, as shown here:
8-bit unsigned integer
8-bit signed integer
16-bit signed integer
16-bi unsigned integer
32-bit signed integer