Compiled Types
The Wolfram Compiler provides advanced compilation capabilities to process an increasingly wide range of Wolfram Language code into native machine code. A key part of this process is type inferencing. This uses minimal type annotations to determine types for entire functions and groups of functions.
Core Atomic Types
"Boolean" — a Boolean atomic type specifier
"String" — a string type specifier
"InertExpression" — an inert expression type specifier
Integral Types
"Integer8" — an 8-bit machine integer type specifier
"UnsignedInteger8" — an unsigned 8-bit machine integer type specifier
"Integer16" — a 16-bit machine integer type specifier
"UnsignedInteger16" — an unsigned 16-bit machine integer type specifier
"Integer32" — a 32-bit machine integer type specifier
"UnsignedInteger32" — an unsigned 32-bit machine integer type specifier
"Integer64" — a 64-bit machine integer type specifier
"UnsignedInteger64" — an unsigned 64-bit machine integer type specifier
"Integer128" — a 128-bit machine integer type specifier
"UnsignedInteger128" — an unsigned 128-bit machine integer type specifier
"MachineInteger" — a machine-sized signed integer type specifier
"UnsignedMachineInteger" — a machine-sized unsigned integer type specifier
Real Types
"Real32" — an IEEE single-precision real type specifier
"Real64" — an IEEE double-precision real type specifier
Complex Types
"ComplexReal64" — a complex number with IEEE double-precision real and imaginary parts type specifier
Compound Types
"PackedArray" — a packed array type specifier
"NumericArray" — a numeric array type specifier
"ByteArray" — a byte array type specifier
"SparseArray" — a sparse array type specifier
"ListVector" — a list of uniform elements type specifier
"Managed" — a type that adds memory management to otherwise unmanaged types
Function Type
{type1,type2,…}returnType — a function type with specified argument and result types
C Types
"CChar" — a C char type specifier
"CShort" — a C short type specifier
"CUnsignedShort" — a C unsigned short type specifier
"CInt" — a C int type specifier
"CUnsignedInt" — a C unsigned int type specifier
"CLong" — a C long type specifier
"CUnsignedLong" — a C unsigned long type specifier
"CLongLong" — a C long long type specifier
"CSizeT" — a C size_t type specifier
"CSSizeT" — a C ssize_t type specifier
"CFloat" — a C float type specifier
"CDouble" — a C double type specifier
"CArray" — a C array type specifier
"CString" — a C string type specifier
"RawPointer" — a pointer type specifier
"OpaqueRawPointer" — an opaque pointer type specifier
Declaring Compiled Types
TypeDeclaration — a declaration of a product, abstract, macro or alias type
CompiledExpressionDeclaration — a declaration of type representing an expression
Using Compiled Types
Typed — specify a type for a program element such as a function argument
TypeHint — specify a type for a program element inside the body of a function
TypeSpecifier — create a compound type such as a packed array
FunctionCompile — compile Wolfram Language code into optimized machine code