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